kill -9 強制終止進程預防:定期備份、使用 UPS、優雅關閉服務 (mysqladmin shutdown)、啟用二進制日誌支援時間點復原。
| 檔案 | 副檔名 | 內容 |
|---|---|---|
| 表定義 | .frm | 欄位定義、型別、索引資訊 |
| 資料檔 | .MYD | 實際資料列 |
| 索引檔 | .MYI | 索引樹結構 (B-Tree) |
myisamchk /path/to/db/tbl_name
myisamchk /path/to/db/tbl_name.MYI
myisamchk /path/to/db/*.MYI
myisamchk /path/to/*/*.MYI
myisamchk --extend-check /path/to/tbl_name
myisamchk --recover --quick /path/to/tbl_namemyisamchk --recover /path/to/tbl_namemyisamchk --safe-recover /path/to/tbl_name⚠ 修復前務必備份 .MYD、.MYI、.frm 三個檔案。修復不可復原。
DELETE FROM tbl_name; (清空資料,產生新 .MYI)myisamchk --recover /path/to/tbl_nameCREATE TABLE 重建 .frmCHECK TABLE tbl_name;
REPAIR TABLE tbl_name;
一次失敗可多執行幾次。適用於 MyISAM、ARCHIVE、CSV 引擎。
D:
CD mysql\bin
MYISAMCHK -r d:\mysql\data\guild\msg_table.MYI
MYISAMCHK --safe-recover d:\mysql\data\guild\msg_table.MYI
USE guild;
DESC msg_table; -- 若報錯即為損壞表
SHOW TABLES;
CHECK TABLE msg_table;
CHECK TABLE 關鍵表