工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆

Incorrect key file for table mysql表损坏的修复方法

今天查询mysql的时候,报这样的错误,Incorrect key file for table './tg/dxad.MYI'; try to repair it. mysql表损坏的情况是很少见的,下面的方法适用于myisam,其他存储引擎,不知道能不能这样修复。
1,myisamchk修改表
查看复制打印?
[root@localhost tg]# myisamchk -of ./dxad.MYI     //修复第一步 
- recovering (with keycache) MyISAM-table './dxad.MYI' 
Data records: 12597637 
Found block that points outside data file at 1630252996 
Data records: 12597456 
[root@localhost tg]# myisamchk -r ./dxad.MYI     //修复第二步 
- recovering (with sort) MyISAM-table './dxad.MYI' 
Data records: 12597456 
- Fixing index 1 
[root@localhost tg]# myisamchk ./dxad.MYI     //修复第三步 
 
Checking MyISAM file: ./dxad.MYI 
Data records: 12597456   Deleted blocks:       0 
- check file-size 
- check record delete-chain 
- check key delete-chain 
- check index reference 
- check data record references index: 1 
- check record links 
myisamchk带的参数,可以用man看一下。操作后重新启动一下数据库。
[root@localhost tg]# /etc/init.d/mysqld restart 
这样操作后,还是有问题,会报 #145 - Table "XXXXX" is marked as crashed and should be repaired。如下图:

myisamchk 修复表后报的错误
2,命令行下repair修复表
查看复制打印?
mysql> repair table dxad;  //dxad是表名 
如下图

命令行下repair修复表成功
到这儿,myisam表损坏就修复好了。

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):