|
|
|
|
移动端

MySQL错误Incorrect file format解决方案

我们今天主要和大家一起分享的是是MySQL错误,即,Incorrect file format/数据表“使用中”的解决方案,下面就有具体方案的描述。

作者:佚名来源:博客园|2010-05-21 13:05

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


以下的文章主要介绍的是MySQL错误,即,Incorrect file format/数据表“使用中”的解决方案,以下就是文章对其具体内容的主要描述,希望会给你带来一些帮助在此方面。愿在你以后的学习中以起到抛砖引玉的作用。

硬盘出错,windows开机自动执行磁盘查检。开始工作时,web程序运行异常,有这样的信息:

130: Incorrect file format xx_messages’

看来是MySQL表损坏了,到phpmyadmin里,这个表显示状态为“使用中”,工具栏里的“操作”里,找“修复表”,但奇怪的是没有这一项,只有“强制更新表 (“FLUSH”) ”(看来问题还是比较严重的),点了照例提示MySQL错误: Incorrect file format ‘xx_messages’

google一下,有不少人也遇到这样问题,解决方法当然都是说修复表之类的,那直接运行SQL命令。在phpmyadmin里运行:

  1. check table xx_messages;  
  2. analyze table xx_messages;  
  3. repair table xx_messages; 

结果还是没用,照例“ Incorrect file format ‘xx_messages’”

看来网上的说法不见得能解决我的问题,求人不如求已,自己解决。

到mysql数据库目录时,看看文件是不是正常,要不然就把以前备份的导进去。

该表相关的三个文件,xx_messages.MYI 的文件大小是0,看来是索引坏了,从以前的备份文件里,直接拷出来,替换这个0大小文件(其它两个文件没有替换),phpmyadmin提示MySQL错误

  1. #1194 – Table ‘bne9pb_messages’ is marked as crashed and should be repaired 

肯定是索引问题,昨天对表结构做过修改,用老的索引文件,肯定不对的,那就修复表:

  1. repair table bne9pb_messages; 

问题解决。不过所有数据都没有了,成了空表,这无所谓,反正是本地开发用的;如果是服务器上的表的话,一定要事先备份的,不然真的欲哭无泪的。

这次只是索引文件坏了,如果数据文件都坏了,那就只能根据旧数据备份重新改动了。

仅仅索引坏掉,其实运行

  1. REPAIR TABLE xx_messages USE_FRM; 

应该就可以解决了;这样应该还可以保留原有数据不丢失,不过没有试,这次没做坏文件备份,没法再捣腾捣腾。

以上的相关内容就是对MySQL错误:Incorrect file format/数据表“使用中”解决手记的介绍,望你能有所收获。

【编辑推荐】

  1. IP配置MySQL与卸载MySQL实操
  2. MySQL 修改密码的6个好用方案
  3. MySQL数据库访问妙招在Linux之下
  4. 从MySQL数据库表中来检索数据并不难
  5. MySQL数据库访问妙招在Linux之下
【责任编辑:孙巧华 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Java (JDK 6)学习笔记

Java学习笔记在JavaWorld技术论坛(http://www.javaworld.com.tw/)和作者的网站(http://caterpillar.onlyfun.net/Gossip/)提供免费下载...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊