ホームページ >データベース >mysql チュートリアル >Ubuntu でリモート MySQL サーバーに接続できないのはなぜですか?

Ubuntu でリモート MySQL サーバーに接続できないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-02 18:40:11819ブラウズ

Why Can't I Connect to My Remote MySQL Server on Ubuntu?

Ubuntu 上の MySQL でのリモート接続の問題

MySQL へのリモート接続を確立できないのは、構成ミスの組み合わせが原因である可能性があります。問題を解決するための詳細な説明は次のとおりです。

my.cnf 構成

MySQL バージョン 5.6 以前の場合は、「/etc/mysql/my.cnf」を確認してください。 「bind-address」ディレクティブが含まれており、ループバック アドレス (「127.0.0.1」) をサーバーの IP に置き換えます。アドレス:

# For MySQL version 5.6 and below
bind-address        = your_server_ip

MySQL バージョン 5.7 以降の場合、「/etc/mysql/mysql.conf.d/mysqld.cnf」を変更してバインド アドレスを指定します:

# For MySQL version 5.7 and above
bind-address        = your_server_ip

あるいは、「bind-address = 0.0.0.0」を設定して、すべての IP をリッスンします。

ユーザー権限

特定のユーザーにリモート アクセスを許可するには、MySQL の "localhost" と "%" の両方にユーザーを作成します。

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

に必要な権限を付与します。ユーザー:

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

「FLUSH PRIVILEGES;」を実行します。

ネットワーク アクセスの確認

「lsof -i -P | grep :3306」を使用して、MySQL が正しい IP アドレスでリッスンしているかどうかを確認し、ポート番号 (3306)。これにより、サーバーがサーバーの IP アドレスをリッスンしていることを示す出力が返されます。

トラブルシューティング

それでもリモート接続が失敗する場合は、次の点を確認してください:

  • ファイアウォールがポート上の受信接続をブロックしていないことを確認してください3306.
  • my.cnf のバインド アドレス設定を再確認し、他の構成ファイルによって上書きされていないことを確認します。
  • 認証に使用されるユーザーとパスワードが有効であることを確認してください。
  • MySQL を最新バージョンに更新することを検討してください。

以上がUbuntu でリモート MySQL サーバーに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。