bgey 发表于 2018-10-5 10:50:39

MYSQL之mysqlcheck命令

  命令摘要
  mysqlcheck是用来 检查,分析,优化,修复表的。
  mysqlcheck只有在数据库运行的状态下才可运行,意味着不用停止服务操作
  mysqlcheck其实就是CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE的便捷操作集合,利用指定参数将对于的SQL语句发送到数据库中进行执行。同样对于那些存储引擎的的支持,也受对于表维护SQL语句的限制。(如check 则不支持MEMORY表, repair 则不支持 InnoDB表)
  命令格式
  Usage: mysqlcheck database
  OR mysqlcheck –databases DB1
  OR mysqlcheck –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
  转自:https://blog.csdn.net/u014257861/article/details/79892562

页: [1]
查看完整版本: MYSQL之mysqlcheck命令