1、myisamchk
使用 myisamchk 必须暂时停止 MySQL 服务器。例如,我们要检修 test 数据库。执行以下操作:
# service mysql stop (停止 MySQL );
# myisamchk -r /数据库文件的绝对路径/*MYI
# service mysql start
myisamchk 会自动检查并修复数据表中的索引错误。
2、mysqlcheck
mysqlcheck -a -c -o -r –all-databases -uroot -p //这条命令是即可最佳化所有db数据库。
参数的意义如下:
-a = Analyse given tables.
-c = Check table for errors
-o = Optimise table
-r = Can fix almost anything except unique keys that aren’t unique
如果是在win主机下,修复指定的表,使用:mysqlcheck -o -r 数据库名称 -u root -p,在提示输入密码的框中,输入mysql的root管理密码,mysqlcheck即会对数据库进行检测修复
使用 mysqlcheck 无需停止 MySQL ,可以进行热修复。操作步骤如下:# mysqlcheck -r discuz.*
注意,无论是 myisamchk 还是 mysqlcheck ,一般情况下不要使用 -f 强制修复,-f 参数会在遇到一般修复无法成功的时候删除部分出错数据以尝试修复
3、使用phpmyadmin快速修复mysql数据库
1.)登录 phpMyAdmin,进入数据列表页面
2.)选择一个数据表的表
3.)页面下方“选中项”下拉选择“修复表”
完美源码 » myisamchk和mysqlcheck修复MySQL数据库