MySQL 8.4 發行說明
即使 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」。