MySQL 返回:Got error 127 from table handler 毛虫的...

来源:百度文库 编辑:神马文学网 时间:2024/04/27 00:36:25
数据表的修复
日期:2002-01-01
注意:在修复表之前要靠被他们,注意备份,切记!
1.标准的表修复
a.试着用   --recover选项修复表,能加上   --quick选项试图只根据索引的内容进行修复,这样做不触及数据文件。
%   myisamchk   --recover   --quick   table_name
or
%   isamchk   --recover   --quick   table_name
b.假如难题还存在,在试试上一步命令,但是要忽略   --quick选项,这样允许修改数据文件。
%   myisamchk   --recover   table_name
or
%   isamchk   --recover   table_name
c.假如还不工作,试试   --safe-recover   修复办法。但这种办法比普通办法要慢,但能修复   --recover无法修复的难题。
%   myisamchk   --safe-recover   table_name
or
%   isamchk   --safe-recover   table_name
假如在myisamchk   or   isamchk   由于一个"can‘t   create   new   temp   file:file_name"的错误消息在任何一步停止,应该重复该命令并
加入   --force选项强迫清除临时文件。
2.假如标准修复失败这样做
a.定位到包含崩溃表的数据库目录中。
b.将该表的数据文件移到安全的地方。
c.调用mysql并通过执行下列语句重新创建新的空表,该语句使用表的描述文件
tbl_name.frm重新开始生成新的数据和索引文件。
mysql>delete   from   tbl_name;
d.退出mysql,将原始的数据文件移回到数据目录中,替换刚建的新的空文件。
e.在世这样用标准修复办法。
为了修复表的描述文件,可先从备份文件中恢复,然后再用标准修复办法。
假如由于某些原因没有备份,假如知道create   table   语句,仍然能恢复该文件:
a.定位到包含崩溃表的数据库目录中。
b.将该表的数据文件移到安全的地方。假如想使用用索引的话,还需要把索引文件移走。
c.调用mysql   发布create   table   语句重建表。
d.退出mysql,将原始的数据文件移回到数据目录中,替换刚才新建的数据文件。假如在第2不中移动了索引文件,则也要讲起移回到
数据库目录中。
e.在尝试标准表修复办法。
以上办法针对mysql有效,请大伙注意。