mysqlcheck的功能類似myisamchk,但其工作不同。主要差別是當mysqld伺服器在運行時必須使用mysqlcheck,而myisamchk應用於伺服器沒有運行時。使用mysqlcheck的好處是不需要停止伺服器來檢查或修復資料表。
ref: http://twpug.net/docs/mysql-5.1/client-side-scripts.html#mysqlcheck
MySQL 停止後, 於 shell 下修復 TABLE(MyISM)
檢查
myisamchk *.MYI
快速修復,試圖不接觸資料檔案來修復索引檔
myisamchk -r -q *.MYI
從資料檔案中刪除不正確的記錄和已被刪除的記錄並重建索引檔
myismchk -r *.MYI
安全恢復模式使用一個老的恢復方法,處理常規恢復模式不行的少數情況
myisamchk --safe-recover *.MYI
Check Table 是否有錯誤
mysql> CHECK TABLE tbl_name [fast] [quick]
於系統運作下, 修復 TABLE
mysql> REPAIR TABLE table_name
ref: http://open.38.com/index.php/topic,1357.0.html
http://linuxhelp.blogspot.com/2006/02/basic-setup-of-mysql-in-gnulinux.html
http://linuxhelp.blogspot.com/2005/06/mysql-cheat-sheet.html
http://www.hkwebs.net/catalog/teach/
最佳化MySQL
mysqlcheck -a -c -o -r 資料庫名稱 資料表名稱
mysqlcheck -a -c -o -r --databases 資料庫名稱1 資料庫名稱2 資料庫名稱3
mysqlcheck -a -c -o -r --all-databases
-a = Analyse given tables.
-c = Check table for errors
-o = Optimise table
-r = Can fix almost anything except unique keys that aren't unique
或者
mysql> use 資料庫名稱
mysql> OPTIMIZE TABLE 資料表名稱;
本文轉貼自http://ssorc.tw/rewrite.php/read-645.html
1 則留言:
簡單說:
當資料庫出現異常狀態,或因跳電導致系統不正常被關閉就先使用下面兩個指令做檢查
>check table 資料表名稱
若系統回應資料表損壞再執行
>repair table 資料表名稱
張貼留言