首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

解決 MySQL "is marked as crashed and should be repaired" 錯誤

     編輯:MySQL 綜合教學

解決 MySQL "is marked as crashed and should be repaired" 錯誤

當 MySQL 資料目錄所在磁碟空間耗盡,或伺服器異常關機導致 MyISAM 表索引檔損毀,查詢時會拋出錯誤:

Table 'xxx' is marked as crashed and should be repaired

根本原因

  • 磁碟空間不足導致寫入中斷,索引檔(.MYI)損毀。
  • 作業系統崩潰/強制關機,MyISAM 表未正常關閉。
  • 資料庫目錄與網站目錄共用同一磁碟,易受網站日誌/上傳檔案影響。

建議:資料庫資料目錄與網站程式目錄務必分離掛載不同磁碟/分區。

修復指令

單表修復

myisamchk -c -r /path/to/data/db_name/table_name.MYI
  • -c:檢查錯誤
  • -r:修復模式(重建索引)

批次修復所有 MyISAM 表

cd /path/to/data/db_name
myisamchk *.MYI

或在 MySQL 命令列執行:

REPAIR TABLE table_name;

(需對每張表執行,或寫腳本遍歷)

預防措施

  1. 監控磁碟空間,設定告警閾值(如 80%)。
  2. 資料目錄獨立分區,避免業務日誌佔滿磁碟。
  3. 生產環境優先使用 InnoDB(支援崩潰恢複),僅在唯讀/緩存場景用 MyISAM。
  4. 定期備份並驗證可恢複性。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved