有两种方法, 一种方法使用 MySQL 的 check table 和 repair table 的 sql 语句, 另一种方法是使用 MySQL 提供的多个 myisamchk, isamchk 数据检测恢复工具. 前者使用起来比较简便. 推荐使用. 1. check table 和 repair table 登陆 MySQL 终端: MySQL -uxxxxx -p dbname
check table tabTest; 如果出现的结果说 Status 是 OK, 则不用修复, 如果有 Error, 可以用: repair table tabTest; 进行修复, 修复之后可以在用 check table 命令来进行检查. 在新版本的 phpMyAdmin 里面也可以使用 check/repair 的功能. 2. myisamchk, isamchk 其中 myisamchk 适用于 MYISAM 类型的数据表, 而 isamchk 适用于 ISAM 类型的数据表. 这两条命令的主要参数相同, 一般新的系统都使用 MYISAM 作为缺省的数据表类型, 这里以 myisamchk 为例子进行说明. 当发现某个数据表出现问题时可以使用: myisamchk tablename.MYI 进行检测, 如果需要修复的话, 可以使用: myisamchk -of tablename.MYI 关于 myisamchk 的详细参数说明, 可以参见它的使用帮助. 需要注意的时在进行修改时必须确保 MySQL 服务器没有访问这个数据表, 保险的情况下是最好在进行检测时把 MySQL 服务器 Shutdown 掉.
来源: http://www.bubuko.com/infodetail-3091019.html