mysql出现“Incorrect key file for table”处理方法


  本文标签:Incorrect,key

最近服务器出现问题,导致公司的网站数据丢了很多 。智软的也丢了不少 。这几天一直都在忙这 修复数据 。

今天在恢复一个客户数据的时候 。发现了一贯问题 。有多个表损坏了 。因为都是直接把表复制进去的 。然后就出现了这个问题问题 如图:

dedecms Error Warnin!
Error infos: Incorrect key file for table it_member_snsmsg; try to repair it


图片1
 

这个是说 表坏掉了 。 。

修复方法如上:

下面就是具体的操作方法:

在DEDE的后台SQL操作中直接输入

复制代码 代码如下:

repair table tablename;
REPAIR TABLE tablename USE_FRM

把 tablename换成表名就可以了!但是修复了 数据会丢掉 。只能在把数据导入进去 。

如果在服务器上操作我们可以使用 Navicat Lite for MySQL软件或者 用批处理

复制代码 代码如下:

cmd /k myisamchk --recover dede_archives

linux服务器出现了mysql错误的解决方法:

mysql> select * from Filter limit 4;
ERROR 1034 (HY000): Incorrect key file for table ‘Filter; try to repair it

repair table修复后还是没有用:
mysql> repair table Filter;
+—————+——–+———-+———————————————————+
| Table         | Op     | Msg_type | Msg_text                                                |
+—————+——–+———-+———————————————————+
| pfsmtp.Filter | repair | Error    | Incorrect key file for table ‘Filter; try to repair it |
| pfsmtp.Filter | repair | error    | Corrupt                                                 |

退出mysql,执行如下修复动作:
myisamchk -of /mail/var/mysql/smtp/Filter.MYI
myisamchk -r /mail/var/mysql/smtp/Filter.MYI
myisamchk safe-recover /mail/var/mysql/smtp/Filter.MYI

再重启mysql后修复正常了 。