Amazon CloudにJava Webアプリケーションをデプロイし、MySQLワークベンチを介してローカルのMySQLデータベースをリモートのAmazon RDS MySQLデータベースに移行しました。
ポート3306のワークベンチから(データを移行するために)自分のAWS MySQLデータベースに接続できたにもかかわらず、ローカルのJavaアプリケーションをAWS MySQLデータベースに接続することはできません。
私は自分のJavaドライバと接続が正しく設定されていることを確信していますが、Tomcatでプロジェクトを実行するとこのエラーが発生し続けます。
java.sql.SQLException:ユーザー "root" @ "176.61.103.100"のアクセスが拒否されました(パスワードを使用:YES)。
誰かがこのエラーを解決する方法を知っていますか、それともそれにデータを送り込むAWS MySQLデータベースでAmazonでJavaアプリケーションを入手するためのファーストトラックソリューションを誰かが提供できますか?
回答:
回答№1は0MySQLでは、ユーザーアクセスはホストによって制限されることがあります。どのユーザーを持っているか確認してください。
SELECT host, user FROM mysql.user;
rootユーザーは特定のホストからしかアクセスできないことがわかります。新しいIPへのアクセスを有効にする必要があります。
次のようにして、ワークベンチから一般アクセスを有効にしてみてください。
GRANT ALL PRIVILEGES *.* TO root@"%" IDENTIFIED BY PASSWORD "<MySql root user password>";
その後、もう一度試してください。特権はすぐにアクティブになります。