MySQL 9.0 發行說明
即使 MyISAM
表格格式非常可靠(SQL 語句對表格所做的所有變更都會在語句返回之前寫入),但如果發生以下任何事件,仍然可能會發生表格損毀的情況
損毀表格的典型症狀是
從表格選取資料時,您會收到以下錯誤
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」。