接続先:CentOS v ?? MySql4で??ナッシュビルで(例public ip = 11.11.11.11)
スタック:ゲートウェイとしてのケーブルモデム>転送付きルーター> CentOs Box
接続元:ダラスのWindows 2003 R2(例public ip = 22.22.22.22)
パブリックIPを介してリモートサーバーからMySqlサーバーにアクセスしようとしています。接続しようとすると、数秒後に「ホストへの接続を開くことができませんでした」というエラーが表示されます。ログイン資格情報を要求する機会はありません。このサーバーをリモート接続用に開くために私が行ったことのいくつかを次に示します。
ダラスのボックスからポート3306のナッシュビルのボックスにtelnetで接続しようとすると、次のようになります。
C:\Documents and Settings\Administrator>telnet 11.11.11.11 3306 Connecting To 11.11.11.11...Could not open connection to the Host, on port 3306: Connect failed
ただし、22.22.22.22から11.11.11.11にpingを実行できます(フォーマットが正しくないため申し訳ありません...試しました):
C:\ Documents and Settings\Administrator> ping 11.11.11.11
32バイトのデータで11.11.11.11にpingを実行します。
11.11.11.11からの返信:bytes = 32 time = 57ms TTL = 54 11.11.11.11からの返信:bytes = 32 time = 61ms TTL = 54 11.11.11.11からの返信:bytes = 32 time = 56ms TTL = 5411.11.11.11からの返信:バイト= 32時間= 57ms TTL = 54
11.11.11.11のping統計:パケット:送信= 4、受信= 4、損失= 0(0%の損失)、ミリ秒単位の概算ラウンドトリップ時間:最小= 56ミリ秒、最大= 61ミリ秒、平均= 57ミリ秒
11.11.11.11のIPテーブルは次のとおりです。
[root @ centos〜]#/ sbin/iptables -Lチェーン入力(ポリシーACCEPT)ターゲット
prot opt source
先
RH-ファイアウォール-1-入力すべて-どこでもどこでも
tcp--22.22.22.22どこでもtcpdpt:mysqlチェーンフォワード(ポリシーACCEPT)ターゲット
prot opt source
先
RH-ファイアウォール-1-入力すべて-どこでもどこでもチェーン出力(ポリシーACCEPT)ターゲット
prot opt source
先チェーンRH-ファイアウォール-1-INPUT(2参照)target prot opt source destination ACCEPT all --where where where ACCEPT icmp--where
どこでもACCEPTを実行します
esp--どこでもどこでもACCEPTah--どこでも
どこでもACCEPTudp-どこでも224.0.0.251udp dpt:mdns ACCEPTudp-どこでもどこでも
udp dpt:ipp ACCEPTtcp-どこでもどこでも
tcp dpt:ippすべてを受け入れる-どこでもどこでも
状態RELATED、ESTABLISHED ACCEPT
tcp-どこでもどこでも状態NEWtcp dpt:mysql ACCEPT
tcp-どこでもどこでも状態NEWtcp dpt:sshすべてを拒否-どこでもどこでも拒否-icmp-Host-prohibited
@Sunny:現在、ローカルIPアドレスは/etc/my.confにリストされています。何が起こったのかを確認するために、ローカルIPアドレスを11.11.11.11に置き換えました。私がそれをしたとき、MySqlはバックアップを開始できませんでした。 bind-addressは、実際にはボックス内のIPアドレスである必要があると思います。
ローカルIPアドレスを使用して、同じネットワーク上の別のマシンからMySqlに接続できます。ただし、ローカルでも11.11.11.11で接続できません。
何か案は? Linuxの男ではないので、私は少し盲目です。
My.confとMySqlサーバーのバインディングを確認してください。
ローカルネットワークでのみリッスンするようになっている可能性があります。
/etc/my.confまたは/etc/mysql/my.confでbind-address設定を探しています。
この設定が有効になっている場合(通常はローカルホスト127.0.0.1のみにバインドするため)、コメントアウトすると、MySqlが使用可能なすべてのインターフェイスでリッスンできるようになります。
いずれにせよ、インターネット経由でデータベースサーバーに直接アクセスすることはまったく良い考えではありません。
インターネット経由でマシンにアクセスするには、sshトンネリングを使用することを強くお勧めします。
Windowsでは、 PuTTY を使用してMySqlマシンにssh( トンネルの作成 )を行うことができます。ローカルの3306ポートをリモートのポートに転送してから、localhost:3306を使用してMySqlサーバーにアクセスできます。