假设有个myisam表:tbl,为了备份方便,直接把
frm 和
MYD 文件拷贝到其他目录。在还原时,就需要重新下创建索引,只需要执行以下命令:
mysql> REPAIR TABLE `tbl` USE_FRM;
即可根据 frm 和 MYD 文件,产生一个新的 MYI 索引文件。这在索引文件较大时备份还原比较有用。
另外,mysql 5.1起开始支持 分区(partition),但是如果表的某个子分区索引坏了,用 REPAIR TABLE 却无法修复,咋办呢?
其实很简单,利用 myisamchk 工具就可以修复了,例如:
path/myisamchk -rq tbl#P#P2 - check record delete-chain - recovering (with keycache) MyISAM-table 'tbl#P#p2' Data records: 3
很简单吧 :)
作/译者:叶金荣(Email:
),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究。

假设有个myisam表:tbl,为了备份方便,直接把
frm 和
MYD 文件拷贝到其他目录。在还原时,就需要重新下创建索引,只需要执行以下命令:
mysql> REPAIR TABLE `tbl` USE_FRM;
即可根据 frm 和 MYD 文件,产生一个新的 MYI 索引文件。这在索引文件较大时备份还原比较有用。
另外,mysql 5.1起开始支持 分区(partition),但是如果表的某个子分区索引坏了,用 REPAIR TABLE 却无法修复,咋办呢?
其实很简单,利用 myisamchk 工具就可以修复了,例如:
path/myisamchk -rq tbl#P#P2 - check record delete-chain - recovering (with keycache) MyISAM-table 'tbl#P#p2' Data records: 3
很简单吧 :)
本文转自叶金荣51CTO博客,原文链接:http://blog.51cto.com/imysql/308817,如需转载请自行联系原作者