0

HeidiSQL 経由で MySQL (私の VPS でデーモンが実行されています) に接続したいと思います。新しいユーザーを作成し、bind-address オプションにコメントを付けました。HeidiSQL 経由で接続しようとすると、エラー 2003: Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (10061) が表示されます。 )。私は何をすべきか?

4

2 に答える 2

2

それはいくつかの要因である可能性があります。

ファイアウォールが他のホストへのトラフィックをブロックしているかどうかを確認する

クライアント マシンからホストに単純に ping を実行できますか?

ポート 3306 でホストへの単純な telnet セッションを開くこともできますか? (telnet が受け入れられると、おそらくいくつかの文字が表示され、接続が閉じられる前に数秒間 telnet セッションにとどまります。受け入れられない場合は、メッセージ「接続が拒否されました」が表示されます。)

于 2013-04-04T19:29:59.030 に答える
1

これには簡単なチェックリストがあります。

  • MySQL サーバーは「localhost」のみにバインドされていますか? 通常は 0.0.0.0 ではなく、127.0.0.1 または ::1 でのみ接続をリッスンしている可能性があります。ネットワークIPアドレスmysql --host=host_ipがどこにあるかを使用して、サーバーからサーバーに接続してみてください。host_ipデフォルトはlocalhostのみだと思います。
  • ポート 3306 はファイアウォールで保護されていますか? 多くのディストリビューションでは、デフォルトで SSH のみが許可されているため、クライアント マシンに対してこれを開く必要がある場合があります。MySQL ポートが開いていると問題が発生するため、これをインターネット上のすべての人に公開しないようにしてください。可能であれば、特定の IP のセットへのアクセスを制限することが常に最善です。
  • 代わりに SSH トンネル経由で接続できますか? これは、3306 ポートが適切にファイアウォールされていることを意味するため、はるかに安全です。SSH トンネルを作成するためのツールは多数ありますが、基本的な原則は、選択したローカル ポートをリモート サーバーのポート 3306 に転送することです。
于 2013-04-04T19:35:34.507 に答える