解决mysql数据库报错Table ‘xxx’is marked as crashed and last (automatic) repair failed

老牛  2015-08-15 12:52  阅读 282 views 次 评论 0 条

中午起床后开博客,然后后台使用clean up清理垃圾,出现数据库表崩溃。。。
报错
Table 'xxx'is marked as crashed and last (automatic) repair failed
xxx为你数据库名称

数据的索引全部没了,原因不明,在phpmyadmin后台使用修复功能不成功,那就手动修复试试。。。

手动修复步骤
ssh连接到vps
为了稳妥起见,先cp一份数据库文件以防万一

cd /usr/local/mysql/var/
cp xxx xxxbackup

错误提示omitting directory 'xxx'
原因为该文件夹下有子文件夹,添加递归参数 -r后就好了

cp -r xxx xxxbackup

关闭mysql服务

service mysql stop

打开xxx数据库文件夹

cd /usr/local/mysql/var/xxx

修复表索引文件(注意:使用递归参数-r、通配符*的作用是批量修复所有.myi结尾的文件)

myisamchk -r *.MYI

若不成功试试强行修复(我没用强行修复。。。)

myisamchk -r -f *.MYI
本文地址:http://xiaohost.com/1273.html
版权声明:本文为原创文章,版权归 老牛 所有,欢迎分享本文,转载请保留出处!

发表评论


表情