MySQLの壊れたテーブルのチェック、修復方法についてまとめました。
1)テーブルが壊れている状況とは?
・MyISAMテーブルの場合は、トランザクション非対応なのでクラッシュ時などにテーブルが壊れてしまう事がある。
・信頼性が高いInnoDBでもハードウェア障害、MySQLやOSのバグなどによってテーブルが壊れてしまう可能性がある。
・想定外の結果がリターンされる場合、インデックスが壊れている可能性がある。
2)テーブルが壊れているかチェックする方法
下記ステートメントを実行。テーブルとインデックスのエラーを検知できる。
CHECK TABLE テーブル名
3)壊れたテーブルの修復方法
①下記ステートメントを実行
REPAIR TABLE テーブル名
②myisamchkユーティリティを使用
myisamchk –recover テーブル名
③バックアップからテーブルをリストア