1、myisamchk
使用 myisamchk 必須暫時停止 MySQL 服務器。例如,我們要檢修 discuz 數據庫。執行以下操作:
# service mysql stop (停止 MySQL );
# myisamchk -r /數據庫文件的絕對路徑/*MYI
# service mysql start
myisamchk 會自動檢查並修復數據表中的索引錯誤。
2、mysqlcheck
使用 mysqlcheck 無需停止 MySQL ,可以進行熱修復。操作步驟如下:
# mysqlcheck -r discuz.*
# service mysql stop (停止 MySQL );
# myisamchk -r /數據庫文件的絕對路徑/*MYI
# service mysql start
myisamchk 會自動檢查並修復數據表中的索引錯誤。
注意,無論是 myisamchk 還是 mysqlcheck ,一般情況下不要使用 -f 強制修復,-f 參數會在遇到一般修復無法成功的時候刪除部分出錯數據以嘗試修復。所以,不到萬不得已不要使用 -f。