新しいエントリーが投稿できなくなった件

  • 投稿日:
  • by
  • カテゴリ:

先日、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越えエントリーはどっかに消えた。