[MySQL FAQ]系列 -- 快速还原MyISAM表索引
假设有个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
很简单吧 :)
最近评论