文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
手冊頁 (TGZ) - 258.5Kb
手冊頁 (Zip) - 365.5Kb
資訊 (Gzip) - 4.0Mb
資訊 (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  MyISAM 表格損毀

18.2.4.1 MyISAM 表格損毀

即使 MyISAM 表格格式非常可靠(SQL 陳述式對表格所做的所有變更都會在陳述式傳回之前寫入),如果發生以下任何事件,您仍然可能會取得損毀的表格:

  • 在寫入過程中,mysqld 程序被終止。

  • 發生意外的電腦關機(例如,電腦被關閉)。

  • 硬體故障。

  • 您正在使用外部程式(例如 myisamchk)修改伺服器同時修改的表格。

  • MySQL 或 MyISAM 程式碼中的軟體錯誤。

損毀表格的典型症狀是:

  • 從表格選取資料時,您會收到以下錯誤:

    Incorrect key file for table: '...'. Try to repair it
  • 查詢找不到表格中的列,或傳回不完整的結果。

您可以使用 CHECK TABLE 陳述式檢查 MyISAM 表格的健全狀況,並使用 REPAIR TABLE 修復損毀的 MyISAM 表格。當 mysqld 未執行時,您也可以使用 myisamchk 命令檢查或修復表格。請參閱第 15.7.3.2 節,「CHECK TABLE 陳述式」第 15.7.3.5 節,「REPAIR TABLE 陳述式」第 6.6.4 節,「myisamchk — MyISAM 表格維護公用程式」

如果您的表格經常損毀,您應該嘗試找出發生這種情況的原因。最重要的是要知道表格是否因意外的伺服器結束而損毀。您可以透過在錯誤日誌中尋找最近的 restarted mysqld 訊息來輕鬆驗證這一點。如果有這樣的訊息,則表格損毀很可能是伺服器關閉的結果。否則,損毀可能是在正常操作期間發生的。這是一個錯誤。您應該嘗試建立可重現的測試案例來示範此問題。請參閱第 B.3.3.3 節,「如果 MySQL 持續崩潰該怎麼辦」第 7.9 節,「偵錯 MySQL」