Can’t open file: ‘テーブル.MYI’という絶望的な文が表示された時

このようなブログなどを運用していると、ときどき技術的な問題にぶち当たることもしばしばですよね。

先日、MySQLでSQL文を実行したところ下記のようなエラーが表示されるようになりました。

#1016 – Can’t open file: ‘テーブル.MYI’. (errno: 144)

え。なにこれ…。
これってまさか破損!?

と思って確認したところ、まさしくのDB破損だそうです。

今回はバックアップを取っていないものでしたので一体全体どうしようと悩んだ結果、なんとか下記で回復したのでそれをメモ的に残しておきます。

チェックと修復のSQLを実行

まずは check table 文で該当のテーブルを確認してみます。

check table テーブル quick;

今回は下記のように表示されました。
見事に破損。

そこで今度は repair table 文で該当テーブルの修復を試みます。

repair table テーブル;

実行結果は下記。
無事に実施できたようで通常の select を実行しても表示されるようになりました。

よかったよかった。。。
ちなみに repair table で修復できない場合もあるのでバックアップはキチンと取りましょう。(自戒)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください