mysqlcheck 修复/优化/分析表
最后更新于:2022-04-02 03:57:14
[TOC]
## 语法
```
> mysqlcheck [options] db_name [tables]
> mysqlcheck [options] --databases db_name ...
> mysqlcheck [options] --all-databases
命令
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 -uroot -ptest mysql #检查 mysql 库
> mysqlcheck -uroot -ptest --all-databases #检查所有表
> mysqlcheck -uroot -ptest -a -A #分析所有库的表
```
### 优化表
```
> mysqlcheck -u root -ptest -o mysql user
> mysqlcheck -u root -ptest -r mysql user
```
';