2005/05/07

mysql tableクラッシュ

連休でblogの更新がとまったので、久々に更新しようかと思い、新規エントリーをクリックしてみると、
Stat /path/to/MT/App/CMS.pm line 997

と出て、エラーストップ。ソースを見ると、blogのカテゴリ一覧の取得で止まっているようなので、mysqlで確認。

mysql> select * from mt_category;
ERROR 1030: Got error 127 from table handler

と出てテーブルが開けない。やばい気配と思いぐぐって調べると、mysqlに、REPAIR TABLEというコマンドを発見。この手のコマンドはどうせあてにならんだろうと思いながらも、打ってみる。

mysql> repair table mt_category;
ERROR 2013: Lost connection to MySQL server during query

なんとなくさらにやばそうな感じが漂う。
上述マニュアルを読み返すと、「警告: REPAIR TABLE を実行中に mysqld が終了してしまった場合、他のコマンドを実行する前にもう 1 回 REPAIR を必ず実行してください」とあるので、もう一度やってみる。

mysql> repair table mt_category;
ERROR 2006: MySQL server has gone away
No connection. Trying to reconnect...



TableOpMsg_typeMsg_text


mt_categoryrepairstatusOK



1 row in set (0.12 sec)
mysql>

ときた。半信半疑で、中身を確認してみると、修復ができていた。すげぇ。そうなら、さっさと自力で復旧してくれって感じ。
mysqlの使い方をよく知らないこともあり、コマンドを調べながら作業をしていたら、2時間近く消費してしまった。でも、復活してよかった。
しかし、ホスティングを借りていても、こういうトラブルに巻き込まれてしまうのだなと実感。今後どのように運用をすべきか検討が必要かも。

0 件のコメント:

コメントを投稿