Table 'content_tags' is marked as crashed and should be repaired
原因:非正常關機、磁碟故障、記憶體不足導致索引寫入中斷。
REPAIR TABLE `content_tags`;
或命令列:myisamchk -r -q /var/lib/mysql/db/content_tags.MYI (快速模式,僅重建索引)
myisamchk *.MYI # 全庫快速檢查
myisamchk -e *.MYI # 延伸檢查 (含資料完整性)
myisamchk -s *.MYI # 靜默模式
# 僅修復回報錯誤的表
# 1. 快速修復 (僅索引)
myisamchk -r -q tbl_name
# 2. 失敗則標準修復 (重建索引、清理刪除記錄)
myisamchk -r tbl_name
# 3. 仍失敗則安全模式 (較慢但處理邊緣情況)
myisamchk --safe-recover tbl_name
# 修復前務必備份 .MYD .MYI .frm
mysql -e "SET AUTOCOMMIT=1; TRUNCATE TABLE tbl_name;" db_name 產生空表結構myisamchk -r -q或一鍵:REPAIR TABLE tbl_name USE_FRM;
InnoDB 具備崩潰恢復能力,但嚴重頁損壞需強制模式:
[mysqld]
innodb_force_recovery = 1 # 1-6 遞增激進
# 1: 忽略損壞頁讀取
# 2: 禁止背景執行緒
# 3: 不執行事務回滾
# 4: 禁止插入緩衝合併 (較常用)
# 5: 不掃描 Undo Log
# 6: 不做 Redo Log 前滾 (最危險)
SELECT * INTO OUTFILE ... 導出可用資料警告: innodb_force_recovery > 0 期間禁止 INSERT/UPDATE/DELETE。
sync_binlog=1、innodb_flush_log_at_trx_commit=1CHECK TABLE、ANALYZE TABLE