XAMPP 5.5.24をインストールし、アプリケーションとそれに接続するMySQLユーザー用のDBを作成しました。しかし、私は次の問題に直面していました。
Host
からのアクセスを明示的に許可するまでmysql.user
テーブルのlocalhost
列を%
に設定している間、ユーザーはMySQLにローカルに接続できませんでした。
mysql> select user, Host from mysql.user order by user;
+------------------+-----------+
| user | Host |
+------------------+-----------+
| | localhost |
| | linux |
| myNewUser | % |
| myNewUser | localhost |
| pma | localhost |
| root | localhost |
| root | linux |
+------------------+-----------+
7 rows in set (0,00 sec)
Host
列の%
は、localhost
を含むすべてを許可する必要があると思いました。ただし、行| myNewUser | localhost |
がないと、MySQLはLAN IPアドレスを指定するまでローカル接続を拒否します(-h localhost
、127.0.0.1
を試行)。
iMac:www Mirek$ /Applications/XAMPP/xamppfiles/bin/mysql -u myNewUser -p
Enter password:
ERROR 1045 (28000): Access denied for user 'myNewUser'@'localhost' (using password: YES)
iMac:www Mirek$ /Applications/XAMPP/xamppfiles/bin/mysql -u myNewUser -p -h localhost
Enter password:
ERROR 1045 (28000): Access denied for user 'myNewUser'@'localhost' (using password: YES)
iMac:www Mirek$ /Applications/XAMPP/xamppfiles/bin/mysql -u myNewUser -p -h 127.0.0.1
Enter password:
ERROR 1045 (28000): Access denied for user 'myNewUser'@'localhost' (using password: YES)
iMac:www Mirek$ /Applications/XAMPP/xamppfiles/bin/mysql -u myNewUser -p -h 10.0.1.2
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 133
Server version: 5.6.24 Source distribution
これは正常な動作ですか?それとも私は何かが足りないのですか?
@ wurtel で述べたように、localhost
への接続はUNIXソケットファイルを使用してTCPをバイパスするため、どのTCPアドレス(%
)。
TCP/IP経由でログインする場合は、ポートとプロトコルを指定する必要があります
mysql -u myNewUser -p -h 10.0.1.2 -p3306 --protocol=tcp
その後、それは動作するはずです。
確認するには、ログイン時にこれを実行します
mysql> SELECT USER() AttemptedToLoginAs,CURRENT_USER() MySQLAllowedMeAs;
AttemptedToLoginAs
とMySQLAllowedMeAs
の両方がmyNewUser@%
、あなたはそれを正しくしました。