REPAREできない

mysqlでテーブルがクラッシュしてしまいREPAREしたが、修復できない場合

Incorrect key file for table テーブル名

というエラーが表示されます。


MySQL 4.0.2 から、REPAIR に USE_FRM モードが導入されています。 `.MYI' ファイルがない、またはそのヘッダが破損している場合にこのモードを使用します。このモードでは、`.frm' ファイルの情報を使用してテーブルが再度作成されます。このような修復は、myisamchk ではできません。

REPAIR TABLE `テーブル名` USE_FRM

で治ります。
mysql稼動中でも上手く動きました。


もしテーブルが頻繁に破損する場合は、REPAIR TABLE を利用する必要性を減らす為にその原因を見つける努力が必要です。