萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦故障排除 >  >> 電腦故障維修

MySQL 資料表損壞修復實戰:從快速修復到重建索引、甚至從備份還原的完整階梯策略

MySQL 資料表損壞症狀:查詢中斷、提示 .frm 鎖定、.MYI 遺失、錯誤 135、記錄檔損壞。修復遵循「由快到慢、由輕到重」階梯策略,最大化成功率、最小化資料損失。

階梯修復策略

  1. 快速修復(僅重建索引,不動資料檔):
    myisamchk -r -q tbl_name
    最快、最安全,優先嘗試。
  2. 標準修復(重建索引、清除錯誤/刪除記錄):
    myisamchk -r tbl_name
    允許修改資料檔,解決索引與資料不一致。
  3. 安全修復(舊演算法,處理極端損壞,較慢):
    myisamchk --safe-recover tbl_name
  4. 困難修復(索引檔前 16K 損壞/遺失,需重建索引檔):
    1. 進入資料庫目錄:cd /var/lib/mysql/db_name
    2. 備份資料檔:mv tbl_name.MYD tbl_name.MYD.bak
    3. 用表定義建立空表:
      mysql db_name -e "DELETE FROM tbl_name;"
    4. 覆蓋回舊資料檔:cp tbl_name.MYD.bak tbl_name.MYD
    5. 執行標準修復:myisamchk -r -q tbl_name
  5. 極度困難修復(.frm 定義檔也損壞):
    從備份還原 .frm → 回階梯 2;或記得 CREATE TABLE 語句 → 重建表結構 → 覆蓋資料 → 修復。

黃金法則

有備份者無懼損壞。 定期 mysqldump 邏輯備份 + 二進制日誌增量備份,是資料庫災難恢復的唯一鐵律。修復只是搶險,備份才是保命符。

copyright © 萬盛學電腦網 all rights reserved