本篇主要介绍MySQL常见的客户端程序
目录
一、mysqlcheck
mysqlcheck是MySQL的表维护程序,其功能主要包含以下四个方面:
- 分析:查看表中关键字的分布,是否执行正确的sql计划
- 检查:检查表的完整性以及数据库表和索引是否有损坏
- 优化:优化表,包括回收不再使用的空间,减少空间碎片,提高IO性能
- 修复:对可能已经损坏的表进行修复(InnoDB中不支持)
下面我们来了解一下如何使用mysqlcheck,使用mysqlcheck的命令语法如下:
mysqcheck [选项] 数据库名 [表名]
这里如果不指定表名,则会操作该数据中的所有表
mysqlcheck的常用选项如下:
下面我来使用一下mysqlcheck:
表分析:
根据分析的结果可以发现,库中的表都是没有问题的
表检查:
表优化:
由于当前表不支持优化,,所以这里用表分析的结果代替了。
表修复:
因为当前表的存储引擎为InnoDB,因此不支持表修复,如果需要进行表修复的话可以先将表的存储引擎改为其它支持表修复的引擎,修复完成后再设置回来。
使用mysqlcheck时需要注意以下几点:
- 只有在mysql运行时才能使用mysqlcheck
- 使用mysqlcheck时操作的表会被锁住,其它操作会阻塞
- 在进行表修复之前需要先对表备份,不然可能会导致表数据丢失
二、mysqldump
mysqldump是MySQL数据备份程序,它能对数据库进行逻辑备份,生成一组SQL,其中包含数据库和表的创建语句以及表中的数据。mysqldump可以生产sql、xml、csv三种格式的备份文件。
下面我们来看一下如何使用mysqldump。
mysqldump的命令语法如下:
mysqldump [options] 数据库名[表名] [备份文件的地址]
mysqldump常用选项如下: