
約10時間、MySQLデータベースにリモートで接続しようとしましたが、成功しませんでした。
サーバーが Debian を実行しています。
正しくmy.cnf
設定され、bind-ip 0.0.0.0
スキップされたネットワークはありません。
lsof -i :3306
接続IPからサーバーに確立された接続を表示した後に消えます。
サーバーで tcpdump ポート 3306 および "(tcp-syn|tcp-ack)!=0" を使用している場合、接続しようとすると次のメッセージが表示されます。
10:55:44.195273 IP server2.xxx.xxx.mysql > xxx.xxx.12.89.53920: フラグ [R], seq 1740903883, win 0, 長さ 0
接続されたユーザーにはすべてのアクセス権が付与されます%
。
私は何をすべきかわかりません。サーバーはISPConfig
ファイアウォールを実行していますが、ファイアウォールの電源をbastille
切っても機能しません。ローカルデータベースとLANアドレスに接続できます。
データベースサーバーに接続しようとすると、次の結果が表示されます。
"エラー 2013(HY000): '認証パケットを読み込んでいます' MySQL サーバーの接続が失われました。 システム エラー: 2 "該当するファイルまたはディレクトリがありません。
私のcnf
Skip_name_resolveがオンになっています。
バインディングアドレスがコメントアウトされています。
どんな手がかりがありますか?
答え1
TCPネットワークは間違いなく動作しています。接続が確立されると、代替接続ツール(たとえば、このような)nc
もそれを示しています。
MySQL自体が着信接続をブロックするか、バージョンがTCP Wrappersにコンパイルされ、リバースDNSとフォワード/リバースマッチングを要求するように設定されています。
MySQLドキュメントB.5.2.5 ホスト「host_name」がブロックされました。mysqladm flush-hosts
不完全な接続が多すぎると、ランタイムまで元のIPアドレスがブロックされることを説明します。またはログインして実行することもできますFLUSH HOSTS
。
/etc.hosts.allow
TCPラッパー構成を確認するには、およびを調べる必要があります/etc/hosts.deny
。