MySQL数据库出错:Table ... is marked as crashed and should be repaired

今天工作时使用数据库,报错如下: Table 'ios_sample' is marked as crashed and should be repaired,无奈之下停掉数据库使用,查找原因。

其意主要是说:数据表'ios_samples'被标记有问题,需要修复。我记得以前也出现过类似的问题,但是只要点击Phpmyadmin上的repair按纽就自动修复了,但是这次很绝,什么都没有.于是赶快上网查找原因。最终将问题解决。


解决方法如下:

1.myisamchk工具 找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:

$ myisamchk -c -r ../data/tablename/posts.MYI

然后myisamchk 工具会帮助你恢复数据表的索引。也不用重新启动mysql,问题就解决了。

2.repair命令 连接到数据库,执行命令:

mysql>REPAIR TABLE `ios_samples`;


问题分析:

1、有网友说是频繁查询和更新dede_archives表造成的索引错误。

2.还有说法为是MYSQL数据库因为某种原因而受到了损坏,如:数据库服务器突发性的断电、在提在数据库表提供服务时对表的原文件进行某种操作都有可能导致MYSQL数据库表被损坏而无法读取数据。总之就是因为某些不可测的问题造成表的损坏。(本人就是因为这个原因)

posted @ 2011-09-15 15:12  残夜  阅读(358)  评论(0编辑  收藏  举报