项目问题表损坏总结

总有客户出现数据库访问失败的情况。发现很多是表损坏
报这个错
Error: Table ‘p’ is marked as crashed and should be repaired 。
也就是说这个p表损坏了;
修复 用视图话软件 或者是mysql内部代码去修复都很快,这客户多了,总出问题影响使用;
说来也怪 客户大部分都是服务器 常年不管的 我系统我自己这儿又没出现他那样的问题
网上说的可能原因 :
1、 服务器突然断电导致数据文件损坏。
2、 强制关机,没有先关闭mysql 服务。
3、 mysqld 进程在写表时被杀掉。
4、 使用myisamchk 的同时,mysqld 也在操作表。
5、 磁盘故障。
6、 服务器死机。
7、 mysql 本身的bug 。
对比网上提的原因符合客户的只可能是
mysql本身问题,此前一直使用mysql5.0.45的老版本;
磁盘和服务器死机很少发生基本可以排除;
由此正好已经给mysql升级到了5.7 持续观察这个问题的出现
然后就是修复的操作总结
dos命令 登录数据库 执行 myisamchk -r -q tbl_name(-r -q 意味着“ 快速恢复模式”)
myisamchk -r tbl_name(-r 意味着“ 恢复模式”)
myisamchk –safe-recover tbl_name 安全恢复模式
一般就快速恢复;
软件很简单这里不提;