mysqlcheck的作用
mysqlcheck客户端用于执行表维护,可以对表进行:分析、检查、优化或修复操作。
(1)分析的作用是查看表的关键字分布,能够让 sql 生成正确的执行计划(支持 InnoDB,MyISAM, NDB)
(2)检查的作用是检查表完整性以及数据库表和索引是否损坏(支持 InnoDB,MyISAM,
ARCHIVE,CSV)
(3)优化的作用是回收空间、减少碎片、提高I/O(⽀持 InnoDB,MyISAM,ARCHIVE)
(4)修复的作⽤是修复可能已经损坏的表(⽀持 MyISAM,ARCHIVE,CSV)
注意事项
(1) 当使用mysqlcheck工具时,MySQL服务器必须在运行状态
(2) 执行过程中相应的表将会被锁定,所以其他的操作将会被挂起
(3)并不是所有的存储引擎都支持以上四种操作,如果遇到不支持的引擎会报出相应的错误
(4)执行表修复操作之前对表进行备份,在某些情况下可能会导致数据丢失。
使用方法
一般通过以下的三种方法来使用:
(1)mysqlcheck [options] db_name [tbl_name ...]
(2)mysqlcheck [options] --databases db_name ...
(3)mysqlcheck [options] --alldatabases
mysqlcheck有如下常用选项,可以在命令行中指定,也可以在选项文件中通过 [mysqlcheck]
和 [client] 组进行指定
如图:

列举几个执行的结果,如图:


掌握其使用即可。