ホームページ  >  記事  >  データベース  >  mysql へのリモート接続が失敗した場合はどうすればよいですか?

mysql へのリモート接続が失敗した場合はどうすればよいですか?

王林
王林オリジナル
2020-09-30 09:20:029678ブラウズ

mysql へのリモート接続の失敗に対する解決策: 1. ファイアウォールを構成し、ポート 3306 を開きます; 2. my.cnf 構成ファイルを編集し、IP アドレスをバインドします; 3. ユーザーのアクセス権を変更してアクセスを許可しますすべてのマシンから; 4. mysql を再起動します。

mysql へのリモート接続が失敗した場合はどうすればよいですか?

1. ネットワークまたはファイアウォールの問題のトラブルシューティング

(推奨チュートリアル: mysql チュートリアル)

まず、リモート サーバーに ping 192.168.1.211 を実行できるかどうかを確認します。そうでない場合は、ネットワークに問題があります。次に、ポートがファイアウォール (telnet 192.168.1.211 3306) によってブロックされているかどうかを確認し、接続に失敗した場合は、ファイアウォールを構成します。

ファイアウォールを構成し、ポート 3306

vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
/etc/init.d/iptables restart(重启防火墙使配置生效)

2 を開きます。MySQL 構成を確認します

ファイアウォールが有効になっていても Telnet が失敗する場合は、ポートのステータスを確認してください。 netstat による 3306:

netstat -apn|grep 3306
tcp6  0  0 127.0.0.1:3306  :::*  LISTEN    13524/mysqld

場所に注意してください。これは、3306 がローカルにバインドされていることを示しています。 my.cnf の構成を確認して、バインディング IP アドレスを構成できます。

bind-address=addr

構成されていない場合、または IP が 0.0.0.0 として構成されている場合は、すべてのクライアント接続を監視することを意味します。

ps: ポート 3306 を開いて MySQL の構成を確認しました。Telent は依然として失敗しましたが、ローカル マシン上の Telnet は正常でした。構成に問題がないことを繰り返し確認しました。その後、ucloud アカウント管理者にこのことを伝えたところ、ucloud 管理バックエンドでもポート 3306 を開く必要があることがわかりました。クラウド サーバーを使用している人は、これに注意する必要があります。

3. ユーザーのアクセス許可を確認する

MySQL はユーザーの作成時にホストを指定します。デフォルトは 127.0.0.1/localhost です。この場合、このユーザーはローカル マシンにのみアクセスできます。その他 このユーザーアカウントでマシンにアクセスすると、権限がない旨のメッセージが表示されますが、ホストを%に変更すると、すべてのマシンにアクセスが許可されていることを意味します。

mysql へのリモート接続が失敗した場合はどうすればよいですか?

4. mysql を再起動して、設定を有効にします。

関連する推奨事項: php トレーニング

以上がmysql へのリモート接続が失敗した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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