2011年12月5日 星期一

mysqlcheck

轉自http://ssorc.tw/rewrite.php/read-645.html

mysqlcheckmysqlcheck的功能類似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
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#ixzz1fecO1TTO