解决”is marked as crashed and should be repaired”故障
现象
exec failed:Table './xxx/xxx_Table' is marked as crashed and should be repaired
原因
具体原因我还不是很清楚,搜了下资料,有以下几种说法:
- 频繁更新表(这个我觉得不太靠谱,mysql这么多年了,这点稳定性还是有的)
- 服务器断电、
- 磁盘扩容
- kill -9
解决方案
第一步: 备份损坏的表或者数据库
第二步:使用mysql自带的mysqlcheck工具, 加上–auto-repair选项即可修复
mysqlcheck -u root -p password table_name --auto-repair
mysqlcheck -u root -p ytso-wp wp_autoblog_posts --auto-repair
另外, mysqlcheck还有以下功能: 为了安全起见,以下两种方法不建议在生产环境中使用
mysqlcheck -a -o -r -p //检查优化并修复所有的数据库
mysqlcheck -A -o -r 数据库名称 -p //修复指定的数据库
参数含意:
-a = Analyse given tables. //分析数据表
-c = Check table for errors //检查数据库中错误(损坏)的表
-o = Optimise table //优化数据表
-r = Can fix almost anything except unique keys that aren’t unique // 修复损坏的数据表
-m = –medium-check
参考
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/125950.html