1. ホーム
  2. mysql

[解決済み] Mysqlでリモートアクセス用のユーザーを追加する

2022-04-22 21:42:33

質問

ユーザーを作成しました。 user@'%'password 'password . しかし、私はと接続することはできません。

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

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

どうすればいいですか?

リモートで接続するためには、MySQL が my.cnf でポート 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番ポートを開放する必要がある場合があります。