快速解决"is marked as crashed and should be repaired"故障
浏览量:579
1、登陆数据库管理工具phpmyadmin直接修复数据表;
登陆phpmyadmin,选中数据库,选中需要修复的表,修复表,操作完以后,就可以刷新网站看效果了哦。
2、找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:
myisamchk -c -r ../data/tablename/posts.MYI
然后myisamchk 工具会帮助你恢复数据表的索引。
(1)mysqlcheck
修复mysql数据库,还有一个命令: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即会对数据库进行检测修复
实例
使用 myisamchk 必须暂时停止 MySQL 服务器。例如,我们要检修 discuz 数据库。执行以下操作:
# service mysql stop (停止 MySQL ); # myisamchk -r /数据库文件的绝对路径/*MYI # service mysql start
myisamchk 会自动检查并修复数据表中的索引错误。
(2)mysqlcheck
使用 mysqlcheck 无需停止 MySQL ,可以进行热修复。
操作步骤如下:
# mysqlcheck -r discuz.*
注意,无论是 myisamchk 还是 mysqlcheck ,一般情况下不要使用 -f 强制修复,-f 参数会在遇到一般修复无法成功的时候删除部分出错数据以尝试修复


感谢支持与鼓励~