MyISAM 表極易損壞,傳統需手動執行 myisamchk 修復。MySQL 提供啟動參數 myisam_recover_options 實現自動修復。
編輯 my.cnf(Windows 為 my.ini),在 [mysqld] 區塊添加:
myisam_recover_options = FORCE,BACKUP
| 選項 | 說明 |
|---|---|
| DEFAULT | 等同於不啟用,無自動修復 |
| BACKUP | 修復前備份 .MYD 為 tbl_name-datetime.BAK |
| FORCE | 即使丟失多行數據也強制修復 |
| QUICK | 無刪除塊時跳過行檢查,速度較快 |
-- 生產環境推薦:備份+強制修復 myisam_recover_options = BACKUP,FORCE -- 或僅快速修復 myisam_recover_options = QUICK
注意: MySQL 5.6+ 推薦使用
myisam_recover_options,舊版myisam-recover將棄用。
SHOW VARIABLES LIKE 'myisam_recover_options';