首页 > 代码库 > MYISAM表的.frm、MYI损坏,丢失的修复方法
MYISAM表的.frm、MYI损坏,丢失的修复方法
.frm文件损坏或丢失的恢复
由于frm文件保存着表结构信息,因此当该文件损坏时候,将无法读取改表中的文件,通过以下步骤可以恢复
step1:将存有数据的MYI和MYD文件保存到其他地方
step2:在数据库里重建同命名的表,结构也要一样。 (要保证和以前表结构,存储引擎,数据类型等保持一致)
step3:将MYI和MYD文件拷贝回来
step4:登陆数据库,并执行repair table tablename;
step5:检查恢复结构
(1,mv t2.MYI t2.MYD /root/test1
2, >create table t2 (id int
>)engine=myisam;
3,mv t2.MYI t2.MYD /usr/local/mysql/data
4,>repair table t2;
5,>desc t2;
6,>select * from t2;
)
如果忘记了表的结构,而且损坏,可以通过以下方法恢复表结构,恢复表索引
step1:将.frm 文件拷贝的数据库目录中、
step2:创建两个空文件,对应MYD,MYI文件
step3:登录数据库,并执行 repair table tablename use_frm;
step4:检查恢复结果
(
1, rm -rf t2.MYI t2.MYD
2,touch t2.MYI t2.MYD
3,chow -R mysql.mysql MYI
4,>repair table tablename use_frm
5,>desc t2;
6,>select * from t2;
)
以上方法也适用于。MYI文件的第一个16K块被破坏,或包含不正确的信息,或文件丢失
(
1, rm -rf t2.MYI(已损坏的索引文件
2,touch t2.MYI建一个空的MYI文件
3,chow -R mysql.mysql MYI
4, repair table tablename use_frm
5,>desc t2;
6,>select * from t2;
)
MYISAM表的.frm、MYI损坏,丢失的修复方法