数据库中的一个表始终修复不成功

来源:互联网 发布:网络公关服务规范 编辑:程序博客网 时间:2024/05/02 06:44

有的时候使用mysql 数据库会遇到这样一个问题,一个表提示损坏,不管怎么用命令修复也修复不了。

 

这个时候 就可以换个思路 卡宁夏是否 硬盘坏道。

这是要查看下是不是这个文件所在的磁盘是不是受损(可以尝试复制一下这个文件看能不能复制),如果是硬盘坏道就先修复磁盘在区在修复数据库文件。

 

修复mysql数据库的表文件

修复mysql表命令:

当你试图修复一个被破坏的表的问题时,有三种修复类型。如果你得到一个错误信息指出一个临时文件不能建立,删除信息所指出的文件并再试一次--这通常是上一次修复操作遗留下来的。

这三种修复方法如下所示:


% myisamchk --recover --quick /path/to/tblname
% myisamchk --recover /path/to/tblname
% myisamchk --safe-recover /path/to/tblname

第一种是最快的,用来修复最普通的问题;而最后一种是最慢的,用来修复一些其它方法所不能修复的问题。

如果上面的方法无法修复一个被损坏的表,在你放弃之前,你还可以试试下面这两个技巧:

如果你怀疑表的索引文件(*.myi)发生了不可修复的错误,甚至是丢失了这个文件,你可以使用数据文件(*.myd)和数据格式文件(*.frm)重新生成它。首先制作一个数据文件(tblname.myd)的拷贝。重启你的MySQL服务并连接到这个服务上,使用下面的命令删除表的内容:

 

修复硬盘坏道方法:

开始--运行--输入cmd--输入chkdsk 盘符: /f ,例如:“chkdsk c: /f”。

chkdsk d: /f

 

0 0