49.Mysql命令之Mysqlcheck

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

  

 

  

posted on 2021-10-07 17:00  太白金星有点烦  阅读(799)  评论(0)    收藏  举报

导航