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

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

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

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

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

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

1
cp -r xxx xxxbackup

关闭mysql服务

1
service mysql stop

打开xxx数据库文件夹

1
cd /usr/local/mysql/var/xxx

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

1
myisamchk -r *.MYI

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

1
myisamchk -r -f *.MYI
原文链接:https://xiaohost.com/1273.html,转载请注明出处。
0

评论0

请先