MySQL server has gone awayで吹いた 1


出社してサイトチェックしようとしたら繋がらない。

ちょうどタイミングよくメールでDBのパス(同じサーバの別DB)
を変更したとか言うアナウンスがきたので
それ関係するのかなと調査開始。

原因がまずわからん

パスはどうも大丈夫なよう(当たり前だけど)

で 繋がらないのはなぜか。。DNS?
いやでもDB接続しないただのテキストファイルとか開けるし。。
と 30分くらいうだうだ悩みつつF5押しまくってたら
突然繋がった。

が。。

真っ白。

管理画面にアクセスしてみると
「MySQL server has gone away」
の文字が。

どっかいったってどういうことだwwwwwwwww

DBを直すか。。

とりあえずgoogle先生に聞こうってことで
聞いてみると どうやらDBがぶっ壊れてるかアクセス過多か
クエリーがでかすぎだと出るらしい。

・アクセス過多はない(ローンチして1週間くらいのサイトだし)
・クエリーも最適化はある程度してある(と信じたい)
・まさかぶっ壊れた??

ってことで直でDBにつないで SELECTしてみる。
⇒普通にOK

CHECK TABLE ぽぃ。
⇒「Table is already up to date」しかでない。
#「Table is Table is marked as crashed」って出れば話ははやかったのに。
#SELECTもUPDATEもできるのに Table is marked as crashed なんてでないか。。

だがサイトにアクセスしてみるとやっぱDbに繋がらない。

ええいめんどくせー ってことで repair table 発動。



直った。

結局

「Table is marked as crashed」
以外でもぶっ壊れてるってことがあるんですね。


One comment on “MySQL server has gone awayで吹いた

  1. Reply Jakk 7月 30,2008 2:47 PM

    2008/07/30 自分で追記

    事象が再発したので調査したところ
    クエリがぶっとんで長いとき 強制的にリンクを切ってしまうってとこが引っかかってたらしい。
    Blob形式使う時は クエリを最適化しないとサクっと落ちますね。

    http://dev.mysql.com/doc/refman/4.1/ja/gone-away.html

Leave a Reply