MySQL错误修复:Table xx is marked as crashed and last (automatic?) repair failed

时间:2022-05-05
本文章向大家介绍MySQL错误修复:Table xx is marked as crashed and last (automatic?) repair failed,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

有站长找到我,说数据库坏了,访问网站报错如下:

Error establishing a database connection

看了下 MySQL 的错误日志,报错如下:

Error: Table './db_name/table_name' is marked as crashed and last (automatic?) repair failed

修复很简单,先停止 MySQL:service mysqld stop

进入到 MySQL 数据库的文件存放目录,比如 cd /data/mysql/zhangge_db

然后执行如下命令:

myisamchk --safe-recover -f -r *.MYI

执行完成后,为了保险起见,我们要将文件的权限改回 MySQL 的运行账号(自行查看),比如 mysql:

chown -R mysql:mysql .

启动 MySQL:service mysqld start

最后,执行再次自动修复优化命令即可解决:

mysqlcheck --auto-repair --optimize --all-databases -p密码