[MySQL FAQ]系列 -- 快速还原MyISAM表索引

假设有个myisam表:tbl,为了备份方便,直接把 frmMYD 文件拷贝到其他目录。在还原时,就需要重新下创建索引,只需要执行以下命令:

mysql> REPAIR TABLE `tbl` USE_FRM;

 
即可根据 frmMYD 文件,产生一个新的 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

 
很简单吧 :)

回复

此内容将保密,不会被其他人看见。
  • 允许的 HTML 标签: <a> <b> <address> <blockquote> <br> <caption> <center> <code> <dd> <del> <div> <dl> <dt> <em> <font> <h2> <h3> <h4> <h5> <h6> <hr> <i> <img> <li> <ol> <p> <pre> <span> <strong> <sub> <sup> <table> <tbody> <td> <tfoot> <th> <thead> <tr> <u> <ul> <tr>
  • 行和段被自动切分。
  • 网页地址和电子邮件地址将会被自动转换为链接。

更多格式化选项信息

随机验证
本功能用于防止垃圾信息
在输入框中输入图片上的字符(注意大小写)