1.命令摘要
mysqlcheck是用来 检查,分析,优化,修复表的。
mysqlcheck只有在数据库运行的状态下才可运行,意味着不用停止服务操作
mysqlcheck其实就是CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE的便捷操作集合,利用指定参数将对于的SQL语句发送到数据库中进行执行。同样对于那些存储引擎的支持,也受对于表维护SQL语句的限制。(如check 则不支持MEMORY表, repair 则不支持 InnoDB表)
2.命令格式
Usage: mysqlcheck [OPTIONS] database [tables]
OR mysqlcheck [OPTIONS] –databases DB1 [DB2 DB3…]
OR mysqlcheck [OPTIONS] –all-databases
3.命令帮助
【options】常用连接参数
-u, –user=name —-连接mysql的用户
-p, –password[=name] —-连接mysql用户的密码
-P, –port=# —-连接mysql用户的端口
-h, –host=name —-连接mysql的主机名或IP,默认localhost本地
4.命令参数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 —显示版本
5.举例
检查所有数据库中的表: 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