MySQL5提示marked as crashed and should be repaired,修复后整个表被清空
MySQL(windows版)突然报错:
#1194 - Table 'ip_addr' is marked as crashed and should be repaired
通过phpMyAdmin修复,但整个表都被清空,连条记录都没留。
几个月前,一次discuz论坛的用户表也出现同的问题,修复一下,用户表也空了,只能从一周前的备份里恢复,从论坛数据里恢复新用户、重置密码,忙了三个多小时才搞好(当然新用户密码被重置,只好通过邮件通知)。
出现这样的问题是很郁闷的,如果没有备份数据的话,完全是灾难性后果。
请问这种问题可能是什么原因造成的,应该怎么避免?
[解决办法]
MyISAM 的表一直有这个问题,需要 repair 一下才行。造成的原因有多种。磁盘上磁道故障,并发访问异常,等等,
手册中专门有一节讲述表的维护。
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html