IP アドレス 181.2.3.5 のマシンで MySQL サーバーを実行しており、そのaffablebean
上で実行されているというデータベースがあります。同じマシンから経由で接続できます。しかし、リモートでアクセスしてJavaアプリケーションをデプロイしようとすると、以下のエラーが発生します:
内部例外: java.sql.SQLException: 接続の割り当て中にエラーが発生しました。原因: 接続を割り当てることができませんでした: ユーザー 'root'@'181.2.3.4' のアクセスが拒否されました (パスワードを使用: YES)
どちらのシステムも LAN 上にあります。特権を付与するために以下のクエリを試しました:
GRANT ALL ON *.* to 'root'@'%' IDENTIFIED BY 'sql123';
flush privileges;
また、以下のもの:
GRANT ALL ON *.* to 'root'@'181.2.3.4' IDENTIFIED BY 'sql123';
flush privileges;
しかし、それでも同じエラーが発生します。mysql サービスを再起動しようとしましたが、それでも接続を受け入れません。
ところで、サーバーは Windows XP を実行しており、クライアントは Windows 7 で実行されています。以下のクエリも試しました。
mysql> use mysql;
mysql> SELECT host FROM user WHERE user = 'root';
私のIPアドレスを正しく返します。しかし、それでも同じエラーです。誰でも私を案内できますか?さまざまなSOの質問から上記の解決策を試しました。
注: 上記の IP アドレスとユーザー名は、説明のための単なるプレースホルダーです。
編集: Workbench からはアクセスできますが、Java プログラムからはアクセスできません。