原文链接:http://www.chenweiliang.com/cwl-176.html
mysqld数据表错误is marked as crashed and last (automatic?) repair解决办法
本文章来给大家介绍我们在修复表时提示Error: Table \’./db_name/table_name\’ is marked as crashed and last (automatic?) repair failed的解决办法。
MYSQL数据表出现问题,提示:
Error: Table ‘./db_name/table_name’ is marked as crashed and last (automatic?) repair failed
mysql_upgrade执行以下命令检查和修复表和升级系统表:mysqlcheck --all-databases --check-upgrade --auto-repair
- 操作失败不可逆,必须暂停数据库:
service monit stop
service mysqld stop
- 进入数据库所在目录:
cd /var/lib/mysql/db_name/
注意:操作修复前一定要把mysql服务停掉。
- 修复单张数据表:
myisamchk -r tablename.MYI
- 修复所有数据表:
myisamchk -r *.MYI
- 安全模式:
myisamchk -r -v -o <table_name>
- 强制模式:
myisamchk -r -v -f <table_name>
myisamchk用法
注意:使用myisamchk前,要确保mysqld没有在访问要检查的表。最好停止mysqld。
- 执行
myisamchk –update-state -s *.myi
,检查有哪些索引文件出了问题(可能会化费比较长的时间)。 - update-state选项只有在停止mysqld的时候使用,-s表示忽略一些正常的表列出的信息,只列出错误。
- 对于每一个损坏的表,尝试
myisamchk -r -q table_name
。这是快速修复模式,会自动检查索引表和数据表是否能够一致。如果一致,则可以修复。 - 如果快速修复模式失败,考虑:
myisamchk -r table_name
,会删除不一致的数据和索引,并重新构建索引。 - 如果失败,考虑:
myisamchk –safe-recover table_name
操作示例
操作失败不可逆,必须暂停数据库:service monit stop
service mysqld stop
cd /var/lib/mysql/eloha_UFO/
cd /var/lib/mysql/eloha_cwl
修复所有数据表:myisamchk -r *.MYI
myisamchk -r -v -f wp_postmeta.MYI
myisamchk -r -v -f wp_posts.MYI
myisamchk -r -v -f wp_options.MYI
myisamchk -r -v -f wp_itsec_log
这比-r慢很多,但是能处理一-r不能处理的情况。myisamchk -r -f -o /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
这是数据库表全路径的命令:myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_postmeta.MYI
myisamchk -r -f /var/lib/mysql/eloha_ufo/wp_posts.MYI
启动MYSQLD数据库:service mysqld start
service mysqld restart
启动MONIT监控程序:service monit restart
service monit start
欢迎转载《mysqld数据表错误is marked as crashed and last (automatic?) repair解决办法》
陈沩亮版权所有,转载请注明出处链接:http://www.chenweiliang.com/cwl-176.html
网站地址:http://www.chenweiliang.com/
您还在探索飞碟ufo之谜吗?不如现在就去下载《来自外星人的讯息》电子书了解et外星人与人类的起源真相吧!
陈沩亮博客