錯誤徵兆
伺服器非正常關機後,網站出現 Table 'xxx' is marked as crashed and should be repaired,代表 MyISAM 表索引損壞,需立即修復。
方法一:phpMyAdmin 圖形介面修復(最簡單)
- 登入 phpMyAdmin,選擇對應資料庫。
- 在表格列表中,受損表格通常會顯示「正在使用中」或標記為 Crashed。
- 勾選該表,下方選單選擇「修復資料表」。
- 執行完成後會顯示「Table is already up to date」或「OK」,即代表修復成功。


方法二:命令列 myisamchk 工具(適合無圖形介面環境)
# 進入 MySQL 安裝目錄 bin 資料夾
cd /usr/local/mysql/bin
# 執行檢查並修復(路徑依實際 datadir 調整)
./myisamchk -c -r ../data/dedecmsv4/dede_archives.MYI
-c:檢查錯誤
-r:修復模式(恢復索引)
- 無需重啟 MySQL 服務即可生效。
預防建議
- 設定 UPS 或優雅關機腳本,避免強制斷電。
- 重要資料表考慮改用 InnoDB 引擎,支援崩潰恢復。
- 定期備份並驗證備份可用性。