6
Incorrect key file for table 'widgets'; try to repair it 

これは、MySQLが既存の(非常に大きな)テーブルに新しいインデックスを適用しようとしたときに表示されるエラーメッセージです。もちろん、私がそれを修復しようとするというエラーメッセージの提案に従うとき:

mysql> repair table widgets;
+-------------------+--------+----------+---------------------------------------------------------+
| Table             | Op     | Msg_type | Msg_text                                                |
+-------------------+--------+----------+---------------------------------------------------------+
| tedsdb.widgets    | repair | note     | The storage engine for the table doesn't support repair | 
+-------------------+--------+----------+---------------------------------------------------------+
1 row in set (0.00 sec)

ここでの私の最善の行動は何ですか(いじくり回す前に明らかな完全バックアップに続いて)?

更新:同じスキーマの新しいテーブル(MyISAM)を作成し、すべてのレコードをコピーし(selectに挿入)、新しいテーブル(InnoDB)のエンジンを変更し、破損したテーブルの名前を変更し、新しいテーブルの名前を変更してから、もう一度、同じエラーが発生しました。

4

3 に答える 3

13

古い質問のように見えますが、この問題に遭遇しました。MySQL が一時テーブルをディスクに書き込んでいたため、/tmp パーティションがいっぱいになりました。

于 2010-09-14T17:37:24.790 に答える
0

これを試す前にバックアップすることを強くお勧めします。

ダミーを実行します

ALTER TABLE widgets;
于 2009-06-22T13:17:08.070 に答える