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
希望陈沩亮博客( https://www.chenweiliang.com/ ) 分享的《mysqld数据表错误is marked as crashed and last (automatic?) repair解决办法》,对您有帮助。
欢迎分享本文链接:https://www.chenweiliang.com/cwl-176.html
喜欢就分享和按赞!您的分享和按赞,是我们持续的动力!