2011-06-23 14 views
4

予期せぬ間欠的なエラーを返すサーバーがあり、以前経験したことがある人や、何が起こっているのか想像できる人がいるのだろうかと思っています。私の検索はこれまで未実績でした。mysql_connectはリモートホスト接続で「ソケット経由でローカルMySQLサーバに接続できません」を返しますか?

通常の方法でmysql_connect()を使用してリモートのmysqlサーバに接続していますが、最後の2週間(1日数回)データベースへの接続が失敗し、ソケットエラーに接続できません。

Error: 2002 - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 

明らかに、これはリモートホストに接続しようとすると予想外です。リモートホストが利用できない場合、mysql_connectはデフォルトでlocalhostになっていますか?私はそれをすることを知らなかったし、それを言う文書の中には何もない。

失敗した接続、さまざまなファイルにはパターンがないように見え、それはあらゆる種類の時刻に発生します。私はあなたがすぐにページをリフレッシュすると正常に接続するので、それはネットワークトラフィックに関連するかもしれないと思っていますが、なぜImがソケットエラーに接続できなくなっているのか混乱しています。

データベースプロバイダがチェックしており、サーバ自体の問題を見つけることができません。 誰にでもアイデアはありますか?

+0

MySQLサーバはどのOSで動作していますか? http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.htmlをまだ見ていますか? –

+0

私はCENTOSを信じていますが、確認する必要があります。 私はそのページを読んだはい、私はそれが後ろにあることを知っているように私はファイアウォールについて疑問に思った。 – gavtaylor

答えて

3

大丈夫、facepalm瞬間...これは私の年齢に当たった後私は最終的にmysql_error()がソケットエラーを報告していた理由を発見しました。私のコードには気付かなかったmysql_select_db()がありました。ソケットエラーが報告されているので、オープン接続が使用されていません。

mysql_connectが報告する実際のエラーは(2003) 'mysql.hostname.tld'のMySQLサーバーに接続できません。私はまだDNSのルックアップ/ネットワークトラフィックの問題のいくつかの並べ替えに傾いている、私は現在、IPアドレスを使用してそのエラーかどうかを確認する接続しています。

しかし、この質問に関する限り、答えは「不満」です。

+0

あなたは時間と時間を節約しました! – SublymeRick

+0

チームのために常に喜んで:) – gavtaylor

3

私はそれがデフォルトでlocalhostになっていないことを確信しています。また、エラーメッセージを送信しているリモートサーバであることを確信しています。したがって、あなたのmysqlサーバでは "ローカル"であり、 "自分の"サーバではローカルではありません。

この場合は、おそらくリモートサーバーのダウンタイムによるものです。

Gr。

+0

興味深い...私は遠隔機械 – gavtaylor

0

Windowsを実行している場合は、すでに接続が多すぎる可能性があります。その場合は、http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html#can-not-connect-to-server-on-windowsにアクセスしてお読みください。

これ以外の人が、mysqldが使用するUnixソケットファイル(デフォルトでは/tmp/mysql.sock)を削除した可能性があります。たとえば、/ tmpディレクトリから古いファイルを削除するcronジョブがあるとします。

+0

のそれがWindowsマシン上ではないというエラーについて問い合わせます。あまりにも多くの接続が私の最初の考えだったが、私は問題ではないことを保証されている – gavtaylor

2

を見ては、しばらく前に同じようなことがありました。

あなたは自宅から接続していますか?私が尋ねる理由は、私のISPが私の自宅のアカウントにIPアドレスを再設定することを混乱させるのが好きで、リモートのMySQLにIP認証を持っているからです。

私は私の地域のIPアドレスであった文字列にIP接続制限の事を開いたと思うので、それが問題を解決しました。

+0

私はWebサーバーから接続し、そのIPは変更されません – gavtaylor

関連する問題