mysqlcheck,是mysql自带的可以检查和修复MyISAM表,并且它还可以优化和分析表,mysqlcheck的功能类似myisamchk,但其工作不同。

主要差别是当mysqld服务器在运行时必须使用mysqlcheck,而myisamchk应用于服务器没有运行时。使用mysqlcheck的好处是不需要停止服务器来检查或修复表。使用myisamchk修复失败是不可逆的。

1.如果需要检查并修复所有的数据库的数据表,那么可以使用:

# mysqlcheck -A -o -r -p    
# Enter password:    
database1 OK    
database2 OK

2.如果需要修复指定的数据库用

# mysqlcheck  -o -r Database_NAME -p

3.如果使用其他用户名修复

# mysqlcheck -A -o -r -p -u admin    
# Enter password:    
database1 OK    
database2 OK

这里admin是指定的mysql用户帐号。

4.如果使用指定的mysql.sock进入数据库并修复

# mysqlcheck -A -o -r -p -S /tmp/mysql.sock    
# Enter password:    
database1 OK    
database2 OK

这里/tmp/mysql.sock是指定的mysql.sock存放的路径。