mysql check命令_MYSQL之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

自动修复表优化表:

mysqlcheck -u root -p123456 -o mysql user --auto-repair

你可能感兴趣的:(mysql,check命令)