プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
「MySQL server has gone away」というエラーが出て焦った話
結論から書くと、

接続がタイムアウトした

だけっぽかったです。
ほっ(^。^)

それでは詳細……というほどでもないですが、詳細を書いていきます。

私が運営しているとあるサービスのログを見たら

MySQL server has gone away

というエラーログが記録されていました。

「MySQLサーバが、どこかに行っちゃった」だってぇ!?Σ( ̄◇ ̄;

そんな焦りから慌ててGoogle先生に尋ねたところ、

サーバーがタイムアウトして接続が閉じられた場合

に、そんなログが記録されるらしいと分かりました。

ここにφ(--)

https://dev.mysql.com/doc/refman/5.6/ja/gone-away.html

こんな説明が載ってましたφ(--)

「MySQL サーバーが存在しなくなりました」というエラーのもっとも一般的な原因は、サーバーがタイムアウトして接続が閉じられた場合です。この場合は、通常、次のいずれかのエラーコードを受け取ります (受け取るエラーコードはオペレーティングシステムによって異なります)。

タイムアウト時間は、デフォルトでは8時間に設定されています。
だから、デフォルトのままであれば、見かける機会は少ないでしょうけどね。

私は

MySQL、「too many connections」エラーを解消する

の記事で書いた通り、タイムアウト時間の設定を短くしていました。
その影響で、タイムアウトが発生し、結果として「MySQLサーバがなくなったよ!」なエラーが
記録されていたみたいです。

タイムアウト時間が長すぎて同時接続数の制限に引っかかったのでタイムアウト時間を短くしたら
今度はタイムアウトするようになっちゃったわけです。

それにしても、このエラーメッセージ、もう少し何とかならなかったのでしょうかね(--;

ということで、一番可能性が高いのはタイムアウトだと思います。
頻発するようであれば、タイムアウト時間の設定値(「wait_timeout」の値)を変更してみてください。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● MySQL  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事