1194: Table 'name' is marked as crashed and should be repaired(テーブル 'name' がクラッシュとしてマークされ修復が必要)
MySQL意味
通常 MyISAM エンジン (MariaDB では Aria も) で格納されたテーブルが破損/クラッシュとしてマークされ、修復されるまで使用できない。テーブルにアクセスするクエリはこのエラーで失敗する。
原因
突然のサーバークラッシュ/電源喪失、ディスク満杯、ハードウェア障害、または mysqld プロセスの強制終了の際に MyISAM テーブルが正常にクローズされなかった。MyISAM はトランザクションもクラッシュ安全性も提供しないため、InnoDB よりもはるかに頻繁に発生する。
対処方法
テーブルを修復する: REPAIR TABLE table_name; またはオフラインで myisamchk -r。修復前に必ずデータファイルをバックアップする。恒久対策としてテーブルを InnoDB に移行する: ALTER TABLE my_table ENGINE=InnoDB; これによりクラッシュセーフになる。ディスクの健全性と myisam_recover_options の設定を確認する。
同じデータベースの他の項目
- 1206The total number of locks exceeds the lock table size(ロックの総数がロックテーブルのサイズを超えた)
- 1236Got fatal error 1236 from master when reading data from binary log(バイナリログの読み取り中にマスターから致命的エラー 1236)
- 1129Host 'host' is blocked because of many connection errors(接続エラーが多いためホスト 'host' がブロックされた)
- 1615Prepared statement needs to be re-prepared(プリペアド文の再準備が必要)
- 1553Cannot drop index needed in a foreign key constraint(外部キー制約で必要なインデックスは削除できない)
- 3948Loading local data is disabled; this must be enabled on both the client and server sides(ローカルデータの読込みは無効。クライアントとサーバーの両側で有効化が必要)
- 1075Incorrect table definition; there can be only one auto column and it must be defined as a key(不正なテーブル定義。自動採番列は 1 つのみでキーとして定義が必要)