MySQL が新しいサーバーからのリモート接続を許可しない

MySQL が新しいサーバーからのリモート接続を許可しない

現在、集中型 MySQL サーバー (たとえば、192.168.0.10) に接続しているサーバーが 1 台あります。このサーバーは、この IP アドレス (たとえば、192.168.0.20) からのリモート接続をすでに許可しており、これまでの変更にもかかわらず、引き続き動作します。この 1 つの IP アドレスに対してです。

次のように、異なるホストから同じユーザー名とパスワードへのアクセスを許可しようとすると、

update db set host='192.168.0.%' where user='username';
update user set host='192.168.0.%' where user='username';
flush privileges;

すべて同じままです。192.168.0.20からは接続できますが、192.168.0.25からは接続できません。エラーメッセージが表示されます。

エラー 1130 (HY000): ホスト '192.168.0.25' はこの MySQL サーバーに接続できません

これがなぜ間違っているのかわかりません。すべてのドキュメントには、これが機能するはずだと書かれています。また、192.168.0.25 からの接続をファイアウォールで保護していません。MySQL を再起動しても効果はありません。このネットワーク上の他の IP は、以前は許可されていなかったものも含めて、問題なく MySQL に接続でき、192.168.0.25 から 192.168.0.10 に ping できます。

答え1

mysql.userだけでなく、テーブルを変更する必要がありますmysql.db

正しい構文は次のとおりです。

RENAME USER 'user'@'192.168.0.10' TO 'user'@'192.168.0.%';
FLUSH PRIVILEGES;

関連情報