先日、Movable Typeにログインしてはてブ1000越え確実なゴキゲンなエントリーを投稿したら、いつまで待っても保存されない。
スパムコメントやスパムトラックバックを受けまくってMySQLが重いのかな?と思って、ApacheとMySQLを再起動してみたけど状況変わらず。
1週間前にmt_entryが壊れてしまい、myisamchk -rで復旧したことがあったので、それの影響でまだ調子が悪いのかな?とか思っていろいろ試していたら、myisamchk -rで復旧が出来なくなった。
これはヤバイと思いつつも、デイリーでmysqldumpしているもんねと、ダンプファイル置き場に行ったら、ダンプファイルのファイルサイズがゼロという状況。
血の気が引く。
おかしな状態のテーブルからdumpしたから、サイズがゼロのものが上書きされちゃったんだね(><)
本格的にヤバイと泣きそうになりながらもmt_entry.frm/MYI/MYDをリネームしたりとか試行錯誤してたら、myisamchk -rが効いてデータが参照できるようになった。
とりあえずホッとしてmysqldumpして最新データを確保。
これが命綱。
もうテーブルを一回作り直してしまえ!と思って、mt_entryをdrop tableしてダンプファイルを食わせてやると、途中までは上手くいくのだけれど、何度やっても特定のエントリまでしかインポートされず、MySQLが反応なくなっちゃう。
もう一度泣きそうになりながら試行錯誤してるうちに、df -kしたら原因がわかった。
/usrの残容量がゼロになってた!
うひょー
/homeには余裕があったので、
/usr/local/mysql/var を /home/mysql/var にリンクして
MySQLを再起動したら絶好調に動き出した。
さらにバックアップスクリプトも、7世代前までバックアップファイルを残すようにした。
かんぺき。
そして、そんなことやっている間にはてブ1000越えエントリーはどっかに消えた。
コメント