麒麟在线

当前位置:网站首页 / 技术 / 正文

Mysql数据表错误提示is marked as crashed and last (automatic?) repair failed")的解决方法

错误分析:
此错误为表损坏,修复即可。一般原因为服务器突然断电,而有程序还在往表里写数据。或者表的数据很大。避免浪费时间去修表。注意服务器操作时停掉数据库。

解决办法:

首先进入数据库,执行命令 show processlist;查看正在对此表的操作,如果有repire 修复、 读表等相关进程kill 掉再修复。因有相关进程,修复的时候不会报错,但是发现修复完毕后,还是提示这个错误,即修复失败。

修复语句:

myisamchk -c -r /var/lib/mysql/ssbc/search_filelist.MYI --tmpdir=/data/tmp/ --sort_buffer_size=256M --key_buffer_size=256M --read_buffer_size=2M --write_buffer_size=2M

星号 × 代表表名称。在mysql的安装目录的 bin/ 下执行。

注意: 如果数据表很大,一定要加上 参数:否则执行一段时间后会出现如下错误

MySQL  myisamchk: error: myisam_sort_buffer_size is too small  
————————————————

./myisamchk -c -r /data/mysql/shangcheng/ecs_sessions.MYI --tmpdir=/data/mysql/tmp/ --sort_buffer_size=256M --key_buffer_size=256M --read_buffer_size=2M --write_buffer_size=2M

在使用myisamchk -c -r ../../data/jian/person_education_experience.MYI 时出现的bug

执行完之后会出现报错

myisamchk: error: 140 when opening MyISAM-table

这是Mysql5.6的一个Bug 去掉.MYI(后缀名)即可

推荐阅读

文章标签:

版权声明: 本文除特别说明外均由原创

本文链接: https://www.70ol.com/jishu/123.html,尊重共享,欢迎转载,请自觉添加本文链接,谢谢!

分享本文: 请填写您的分享代码。

呃 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。