サーバーを強制終了した時に MySQL が破損した際は REPAIR TABLE で修復する

物凄いアクセスがサーバーにあった為にサーバーが応答しなくなりました。再起動もできなかったので強制終了をしたところ、MySQL が破損してしていました。データベースに接続はできますが、テーブルでソートを行おうとしたところ以下のようなエラーが発生しました。

1
#1032 - Can't find record in 'foo_tables'

REPAIR TABLE で修復が可能とのことですので早速以下の SQL を実行。

1
REPAIR TABLE foo_tables;

10GB前後の容量のデータベースですが、48分で修復が完了しました。phpMyAdmin で SQL を実行すると反応が微妙なので、CLI からログインして実行するのが良さそうです。

以下のサイトが参考になりました。

コメント

コメントは受け付けていません。