1. 程式人生 > >mysql command 工具 ----Mysqlcheck命令

mysql command 工具 ----Mysqlcheck命令

命令摘要

mysqlcheck是用來 檢查,分析,優化,修復表的。
mysqlcheck只有在資料庫執行的狀態下才可執行,意味著不用停止服務操作
mysqlcheck其實就是CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE的便捷操作集合,利用指定引數將對於的SQL語句傳送到資料庫中進行執行。同樣對於那些儲存引擎的的支援,也受對於表維護SQL語句的限制。(如check 則不支援MEMORY表, repair 則不支援 InnoDB表)

命令格式

Usage: mysqlcheck [OPTIONS] database [tables]
OR mysqlcheck [OPTIONS] –databases DB1 [DB2 DB3…]
OR mysqlcheck [OPTIONS] –all-databases

命令幫助

mysqlcheck –help

【options】常用連線引數
-u, –user=name —-連線mysql的使用者
-p, –password[=name] —-連線mysql使用者的密碼
-P, –port=# —-連線mysql使用者的埠
-h, –host=name —-連線mysql的主機名或IP,預設localhost本地

命令引數 command 詳解

A, –all-databases —選擇所有的庫
-a, –analyze —分析表
-B, –databases —選擇多個庫
-c, –check —檢查表
-o, –optimize —-優化表
-C, –check-only-changed —最後一次檢查之後變動的表
–auto-repair —-自動修復表
-g, –check-upgrade —檢查表是否有版本變更,可用 auto-repair修復
-F, –fast —只檢查沒有正常關閉的表
-f, –force —忽悠錯誤,強制執行
-e, –extended —表的百分百完全檢查,速度緩慢
-m, –medium-check —近似完全檢查,速度比 –extended稍快
-q, –quick —最快的檢查方式,在repair 時使用該選項,則只會修復 index tree
-r, –repair —修復表
-s, –silent —只打印錯誤資訊
-V, –version —顯示版本

例子

檢查所有資料庫中的表:
mysqlcheck -u root -p123456 -A -c
檢查特定資料庫mysql ,sys 中的表:
mysqlcheck -u root -p123456 -c -B mysql sys
只檢查資料庫mysql中的db表:
mysqlcheck -u root -p123456 -c mysql db
分析所有庫的表:
mysqlcheck -u root -p123456 -a -A
優化表:
mysqlcheck -u root -p123456 -o mysql user
修復表:
mysqlcheck -u root -p123456 -r mysql user