mysql へのリモート接続の失敗に対する解決策: 1. ファイアウォールを構成し、ポート 3306 を開きます; 2. my.cnf 構成ファイルを編集し、IP アドレスをバインドします; 3. ユーザーのアクセス権を変更してアクセスを許可しますすべてのマシンから; 4. 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 です。この場合、このユーザーはローカル マシンにのみアクセスできます。その他 このユーザーアカウントでマシンにアクセスすると、権限がない旨のメッセージが表示されますが、ホストを%に変更すると、すべてのマシンにアクセスが許可されていることを意味します。
4. mysql を再起動して、設定を有効にします。
関連する推奨事項: php トレーニング
以上がmysql へのリモート接続が失敗した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。