突然断电导致的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/mysql_db

然后执行如下命令:

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

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

chown -R mysql:mysql .

启动MySQL:service mysqld start

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

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

未经允许不得转载:OZ分享-吉家大宝官方博客 » 突然断电导致的MySQL错误修复:Table xx is marked as crashed and last (automatic?) repair failed

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

置顶文章