HeavyBommer@blog
時事ネタ、コンピュータ、家電、プログラミング等々、思ったこと/考えたこと/提案/使用レポ/Tipsなどを思いついたときに書いてゆきます
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
CentOS 5.xでリモート接続(MySQL,Apache,etc…)がうまくいかないとき
いや~、くだらないことで嵌って、もうこんな時間ですよ(TT)

でも、書いておかないと自分でもまた忘れて嵌りそうなので、メモがてら上げておきます。

事の起こりは、仕事で使うサーバーでMySQLのレプリケーションがうまくいかなかったことからです。

で、同じような構成を手元のPCのVM環境で構築して試していたんですが、同じくうまくいかず…

設定方法はこちらのサイトを参考にやっていました。

で、実際にどうなるかと言うと、以下のようなエラーになってしまいます。
<<スレーブ側エラーログ>>
090303 0:38:24 [ERROR] Slave I/O thread: error connecting to master 'repl@192.168.3.3:3306': Error: 'Lost connection to MySQL server at 'reading initial communication packet', system error: 113' errno: 2013 retry-time: 60 retries: 86400

<<slave status>>
Slave_IO_State: Connecting to master
Master_Host: 192.168.3.3
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: centos-a-bin.000001
Read_Master_Log_Pos: 169
Relay_Log_File: centos-b-relay-bin.000003
Relay_Log_Pos: 98
Relay_Master_Log_File: centos-a-bin.000001
Slave_IO_Running: No
Slave_SQL_Running: Yes

エラーの内容を見る限り、単にマスターに接続できていないようなので、テスト用にALL PRIVILEGEなユーザを作って、スレーブ側のコンソールから接続しようとしてみたのですが、こっちは2003エラーで接続できませんでした。

で、ためしにクライアントからtelnetで3306に繋ぐと、繋がっちゃうんですよね~
それで、ひたすら悩んだのですが、pingを撃ったりしていると、ホスト名が127.0.0.1に解決されているじゃあ~りませんか。

そうです。
横着して、VM設定をコピーしたので、/etc/hostsを修正し忘れてたんですね…
で、hostsを直して、telnetで3306にサイド繋ぐと、今度は繋がりません。

でも、何で繋がらないのかにまたひとしきり悩みました…
sshだと繋がるのに、3306はダメ…
ん?と言うことはポートによって違いがある…なら…

と言うことで、iptables -Lを視てみたら、ごたいそうにいろいろ設定されているじゃありませんか…
いや、デフォルトでいろいろセキュリティーを入れてあるのは親切心からなんでしょうけど、CentOSになじみが無い(というかLinux自体それほど使い込んでいない)私には、アリガタ迷惑でした…

そこで、iptables -Fでとりあえず設定を綺麗さっぱり消し去って、テスト… よし!うまくいきました。
あ、/etc/init.d/iptables saveしておくのを忘れないようにしましょうね。
忘れると、リブートしたら元に戻っちゃいますので。

これで一件落着です。
皆さんもLinuxで良くわからないネットワークトラブルに見舞われたら、iptablesを疑ってみましょうね。
スポンサーサイト

テーマ:ネットワーク - ジャンル:コンピュータ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。