MySQL5提示marked as crashed and should be repaired,修复后整个表被清空解决办法

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

引用5.9. 备份与恢复

5.9.1. 数据库备份

5.9.2. 示例用备份与恢复策略

5.9.3. 自动恢复

5.9.4. 表维护和崩溃恢复

5.9.5. myisamchk:MyISAM表维护实用工具

5.9.6. 建立表维护计划

5.9.7. 获取关于表的信息



避免这个问题有以下的办法:

1. 完整备份。

2. 换成有完整日志的引擎!

MySQL5提示marked as crashed and should be repaired,修复后整个表被清空解决办法

相关文章:

你感兴趣的文章:

标签云: