一、mysqlcheck简介
mysqlcheck客户端可以检查和修复MyISAM表。它还可以优化和分析表。
mysqlcheck的功能类似myisamchk,但其工作不同。主要差别是当mysqld服务器在运行时必须使用mysqlcheck,而myisamchk应用于服务器没有运行时。使用mysqlcheck的好处是不需要停止服务器来检查或修复表。使用myisamchk修复失败是不可逆的。
Mysqlcheck为用户提供了一种方便的使用SQL语句CHECK TABLE、REPAIR TABLE、ANALYZE TABLE和OPTIMIZE TABLE的方式。它确定在要执行的操作中使用使用哪个语句,然后将语句发送到要执行的服务器上。
同其它客户端比较,mysqlcheck有一个特殊特性。重新命名二进制可以更改检查表的默认行为(--check)。如果你想要一个工具默认可以修复表的工具,只需要将mysqlcheck重新复制为mysqlrepair,或者使用一个符号链接mysqlrepair链接mysqlcheck。如果调用mysqlrepair,可按照命令修复表。
下面的名可用来更改mysqlcheck的默认行为:
mysqlrepair
默认选项为--repair
mysqlanalyze
默认选项为--analyze
mysqloptimize
默认选项为--optimize
二、mysqlcheck的使用
1.有3种方式来调用mysqlcheck:
shell> mysqlcheck[options] db_name [tables]
shell> mysqlcheck[options] ---database DB1 [DB2 DB3...]
shell> mysqlcheck[options] --all--database
如果没有指定任何表或使用---database或--all--database选项,则检查整个数据库。
2.修复所有的数据库
mysqlcheck -a -c -o -r -m --all-databases -uroot -p
使用上面的命令即可最佳化所有数据库
参数含意:
-a = Analyse given tables.
-c = Check table for errors
-o = Optimise table
-r = Can fix almost anything except unique keys that aren't unique
-m = --medium-check
注:MYSQL版本为5.5时,命令中请删除-o
3.修复指定的数据库
mysqlcheck -o -r -uroot -p888888 dataname
mysqlcheck -hlocalhost -auto-repair -uroot -p****** dataname
4.附带简单讲一下mysqlcheck使用详解
用法:
mysqlcheck [OPTIONS] database [tables]
mysqlcheck [OPTIONS]