このようなブログなどを運用していると、ときどき技術的な問題にぶち当たることもしばしばですよね。
先日、MySQLでSQL文を実行したところ下記のようなエラーが表示されるようになりました。
#1016 – Can’t open file: ‘テーブル.MYI’. (errno: 144)
え。なにこれ…。
これってまさか破損!?
と思って確認したところ、まさしくのDB破損だそうです。
今回はバックアップを取っていないものでしたので一体全体どうしようと悩んだ結果、なんとか下記で回復したのでそれをメモ的に残しておきます。
チェックと修復のSQLを実行
まずは check table 文で該当のテーブルを確認してみます。
今回は下記のように表示されました。
見事に破損。
そこで今度は repair table 文で該当テーブルの修復を試みます。
実行結果は下記。
無事に実施できたようで通常の select を実行しても表示されるようになりました。
よかったよかった。。。
ちなみに repair table で修復できない場合もあるのでバックアップはキチンと取りましょう。(自戒)