帮助中心 >  技术知识库 >  数据库 >  相关技术支持 >  MySQL错误Table xx is marked as crashed and should be repaired

MySQL错误Table xx is marked as crashed and should be repaired

2017-11-09 13:50:39 6956

首页爆出数据库错误

报错关键信息:Table 'xx_users' is marked as crashed and should be repaired


提示这张表损坏了,必须修复,登陆服务器之后,开始修复,以下记录备忘。

1、尝试使用myisamchk命令对所有表索引文件进行修复:

myisamchk --safe-recover /var/lib/mysql/test/*.MYI


2、刷新首页依然报错,于是登陆MySQL,执行 REPAIR TABLE xx_users;

mysql> REPAIR TABLE xx_users;
+-------------------------+--------+----------+-------------------------------------------------------------------------------------------------------------+
| Table                   | Op     | Msg_type | Msg_text                                                                                                    |
+-------------------------+--------+----------+-------------------------------------------------------------------------------------------------------------+
| xx_xxx.xx_users | repair | error    | 1 when fixing table                                                                                         |
| xx_xxx.xx_users | repair | Error    | Can't change ownership of the file '/xx_xxx/xx_users.MYD' (Errcode: 1) |
| xx_xxx.xx_users | repair | status   | Operation failed                                                                                            |
+-------------------------+--------+----------+-------------------------------------------------------------------------------------------------------------+

3、提示无法修改拥有着属性,应该是上一步使用myisamchk命令时文件所属变成了root了,于是用chown更该拥有者:

chown -R mysql:mysql /xx_xxx/*

4、然后继续登陆MySQL执行 REPAIR TABLE xx_users;  成功:


刷新首页正常



事后总结:一般这个报错都是因为数据库表索引文件损坏导致的,发现这类错误可以尝试使用phpMyAdmin的Repair自动修复功能。

如果不行,先将数据库文件做好备份,然后按照本文的步骤尝试修复吧。

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: