WEBサーバとDBサーバを分けて利用してるのですが、WEBサーバのPHPで構築したサイトから、DBへ参照する際に、

時折、下記のようなエラーが出て繋がらなくなります。

再度更新すると、すぐに接続され、問題なく動くのですが、時間を置いて、更新するとよくエラーとなります。
イメージとしては、接続タイムアウトをして、再接続に失敗している感じです。
どういう設定をしたら直りますでしょうか?
構成はwebサーバが1台、DBサーバがマスタ1台、スレーブ1台(バックアップ用。今回は関係ありません)です。

apacheエラーログ内容
[wrapped: connect failed [Native Error: Lost connection to MySQL server at 'reading initial communication packet', system error: 113]

環境:
linux(centos5)
apache
mysql5

回答の条件
  • 1人3回まで
  • 登録:2008/10/22 21:06:55
  • 終了:2008/10/29 21:10:02

回答(3件)

id:ken-ton No.1

KT回答回数2ベストアンサー獲得回数02008/10/22 21:27:25

ポイント27pt

詳しいことがわからないのでなんとも言えないのですが、

my.cnf の DNS設定周り

MySQL :: MySQL 4.1 リファレンスマニュアル :: 5.5.5 MySQL の DNS の使用

の設定を見直してみてください。

また、このエラーはネットワーク設定に関するエラーのため、MySQLの設定よりもネットワークの設定を見直してあげたほうがいいかもしれません。

また、サーバ間接続には できるだけグローバル経由ではなくローカル接続での通信をお勧めします。

id:chirubo

ありがとうございます。調べてみます。

symfonyを使ってまして、dbサーバにはipアドレスにて設定を記述しています。

2008/10/23 14:23:03
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/10/22 21:57:34

ポイント27pt

MySQL error 113 は "No route to host" ですから、DBサーバにアクセスできていないようですね。

PHP側でDBサーバの名前を指定していますか? もしかすると名前解決に問題があるかもしれません。IPアドレスでダイレクトに指定してみてください。

id:chirubo

ありがとうございます。調べてみます。

symfonyを使ってまして、dbサーバにはipアドレスにて設定を記述しています。

2008/10/23 14:23:05
id:goodvn No.3

goodvn回答回数228ベストアンサー獲得回数182008/10/23 13:31:54

ポイント26pt

MySQLのログには何か表示されていませんか?

PHPからは,pconnect を使っていませんか?

connect を使えば,MySQL への接続は,セッションごとに行われます.たぶん,接続まわりのコーディングに問題があって,接続の有無を確認せずに次の処理へ移ってしまい,エラーが表示されていると推測されます.

接続まわりをチェックして,厳密にエラーチェックするようにしてはいかがでしょうか.

id:chirubo

ありがとうございます。調べてみます。

symfonyを使ってまして、dbサーバにはipアドレスにて設定を記述しています。

2008/10/23 14:23:07

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません