sql >> データベース >  >> RDS >> Mysql

エラー1130(HY000)を修正する方法:ホストはこのMySQLサーバーに接続できません

    このクイック記事では、「エラー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リモート接続エラーの解決に役立つことを願っています。質問がある場合は、以下のフィードバックフォームからご連絡ください。


    1. auto_explainの概要:遅いPostgresクエリプランを自動的にログに記録する方法

    2. C#をOracleデータベースに接続するために必要な最小クライアントフットプリントはどれくらいですか?

    3. Ubuntu16.10でPostgreSQLを9.6から10.0にアップグレードします

    4. SQLServerで小文字を含む行を返す5つの方法