Mysql リモートアクセス用のユーザーを追加する 質問する

Mysql リモートアクセス用のユーザーを追加する 質問する

user@'%'でユーザーを作成しましたpassword 'password。しかし、次のユーザーと接続できません:

mysql_connect('localhost:3306', 'user', 'password');

ユーザーを作成するとuser@'localhost'、接続できました。なぜでしょうか? '%' は任意のホストからという意味ではないのでしょうか?

ベストアンサー1

リモート接続するには、my.cnfでMySQLのポート3306をマシンのIPアドレスにバインドする必要があります。次に、localhostと「%」ワイルドカードの両方でユーザーを作成し、すべてのDBに権限を付与する必要があります。以下を参照してください:

my.cnf (Windows では my.ini)

#Replace xxx with your IP Address 
bind-address        = xxx.xxx.xxx.xxx

それから:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

それから:

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
FLUSH PRIVILEGES;

OS によっては、リモート接続を許可するためにポート 3306 を開く必要がある場合があります。

おすすめ記事