MySQLのdumpを取得しようとすると「mysqldump: Got error: 144: Table ‘xxxxxx’ is marked as crashed and last (automatic?) repair failed when using LOCK TABLES」と表示される

こんにちはKUJIRAです。週末にMySQLのDBバックアップを取ろうとmysqldumpコマンドを実行したところエラーが発生したのでメモります。

事象

mysqldumpコマンドでDBのdumpを取得しようとしたところ以下のエラーメッセージが出力される。

mysqldump: Got error: 144: Table 'xxxxx' is marked as crashed and last (automatic?) repair failed when using LOCK TABLES

原因

MySQL内のテーブルが破損していることが原因で、ダンプ取得の際にエラーが出ます。MySQLのバックアップについては以前の記事を参照してください。

解決方法

REPAIR TABLE文を実行することで破損テーブルを修復し正常な状態に保ってくれます。

mysql> REPAIR TABLE [table name];

[table name]の箇所に破損しているテーブル名を入力します。破損テーブルはエラー文の’xxxxx’の部分に記載されているので、確認してください。

修復が完了したら問題なくダンプが取得できるはずです。

さて、今日はここまで。

コメントを残す

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