このクイック記事では、「エラー1130(HY000):ホストx.x.x.xはこのMySQLサーバーに接続できません」を解決する方法を学習します。 LinuxシステムでのMySQL/MariaDBデータベースのデプロイメントでのエラー。これは、ユーザーが遭遇する一般的なリモートデータベース接続エラーの1つです。
テスト環境:
- アプリケーションサーバーIP :10.24.96.5
- データベースサーバーIP :10.24.96.6
mysql を使用して、アプリサーバーの1つからデータベースサーバーへのデータベース接続をテストしているときにエラーが発生しました 示されているようにクライアント。
# mysql -u database_username -p -h 10.24.96.6
エラーは、ホストが 10.24.96.5であることを示しています データベースユーザーが接続しているデータベースは、MySQLサーバーへの接続を許可されていません。この場合、ユーザーがリモートで接続できるように、データベースサーバーにいくつかの変更を加える必要があります。
データベースサーバーでは、上記のユーザーが接続を許可されているホストを確認する必要があります。
# mysql -u root -p
次のSQLコマンドを実行して、ユーザーのホストを確認します。
MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";
コマンドの出力から、ユーザーは localhostからのみデータベースサーバーに接続できます。 。したがって、ユーザーのホストを次のように更新する必要があります。
次のGRANTを実行します リモートホストからリモートユーザーのMySQLアクセスを有効にするコマンド。必ず「10.24.96.6」を置き換えてください 」とリモートシステムのIPアドレス、および「 database_password 」を必要なパスワードに「database_username 使用する」:
MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.5' IDENTIFIED BY 'database_password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";
ネットワーク上のすべてのホストからユーザーにリモートアクセスを許可するには、次の構文を使用します。
MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.%' IDENTIFIED BY 'database_password';
上記の変更を行った後、MySQLデータベースサーバーにもう一度リモート接続してみてください。次のスクリーンショットに示すように、接続は成功するはずです。
# mysql -u database_username -p -h 10.24.96.6
このソリューションがMysqlリモート接続エラーの解決に役立つことを願っています。質問がある場合は、以下のフィードバックフォームからご連絡ください。