目录
(一)作用
(二)使用方法
(三)常用选项
(四)注意事项
(五)mysqlcheck的特殊说明
(一)作用
mysqlcheck 是 MySQL 数据库系统的一部分,是一个用于检查、修复、优化或分析 MySQL 数据库表的命令行工具,可以对数据库进行维护操作,确保数据的完整性和性能。
- 分析的作用是查看表的关键字分布,能够让 sql 生成正确的执⾏计划(⽀持 InnoDB,MyISAM,NDB)
- 检查的作用是检查表的完整性以及数据库表和索引是否损坏(⽀持 InnoDB,MyISAM, ARCHIVE,CSV)
- 优化的作用是回收空间、减少碎⽚、提⾼I/O(⽀持 InnoDB,MyISAM,ARCHIVE)
- 修复的作用是修复可能已经损坏的表(⽀持 MyISAM,ARCHIVE,CSV)
(二)使用方法
⼀般通过以下三种方法使用 mysqlcheck
mysqlcheck [options] db_name [tbl_name ...]
mysqlcheck [options] --databases db_name ...
mysqlcheck [options] --all-databases
- 如果在 db_name 后没有指定任何表名,或者使用 --databases 或 --all-databases 选项,那么整个数据库都会被检查
(三)常用选项
mysqlcheck 有如下常用选项,可以在命令行中指定,也可以在选项文件中通过 [mysqlcheck] 和 [client] 组进行指定
示例如下:
(四)注意事项
- 1. 当使用mysqlcheck⼯具时,MySQL服务器必须在运行状态
- 2. 执行过程中相应的表将会被锁定,所以其他的操作将会被挂起
- 3. 并不是所有的存储引擎都支持以上四种操作,如果遇到不支持的引擎会报出相应的错误
- 4. 执行表修复操作之前对表进行备份,在某些情况下可能会导致数据丢失。
(五)mysqlcheck的特殊说明
mysqlcheck程序的默认功能是对数据表进行
检查
操作(相当于指定选项
--check
),如果想要对
表进行修复操作,可以通过复制原来的mysqlcheck程序,并重命名为mysqlrepair,并运行
mysqlrepair即可,还可以创建mysqlcheck的快捷方式,并把快捷方式命名为mysqlrepair然后
直接运行,这时就执行的是修复操作,通过下表所示的命名方式可以改变mysqlcheck的默认行
为: