教你用Myisamchk进行崩溃恢复MySQL把数据文件移更安全的地方。 使用表描述文件创建新的(空)数据和索引文件:
将老的数据文件拷贝到新创建的数据文件之中。(不要只是将老文件移回新文件之中;你要保留一个副本以防某些东西出错。) 回到阶段2。现在myisamchk -r -q应该工作了。(这不应该是一个无限循环)。 阶段4:非常困难的修复 只有描述文件也破坏了,你才应该到达这个阶段。这应该从未发生过,因为在表被创建以后,描述文件就不再改变了。 从一个备份恢复描述文件并且回到阶段3。你也可以恢复索引文件并且回到阶段2。对后者,你应该用myisamchk -r启动。 如果你没有一个备份但是确切地知道表是如何被创建的,在另一个数据库中创建表的一个拷贝。删除新的数据文件,然后从其他数据库将描述和索引文件移到破坏的数据库中。这给了你新的描述和索引文件,但是让数据文件独自留下来了。回到阶段2并且尝试重建索引文件。 三、表优化 为了组合成碎片的记录并且消除由于删除或更新记录而浪费的空间, 以恢复模式运行myisamchk:
你可以用SQL的OPTIMIZE TABLE语句使用的相同方式来优化一张表,OPTIMIZE TABLE比较容易,但是myisamchk更快。也没有在一个实用程序和服务器之间不必要的交互可能性,因为当你使用OPTIMIZE TABLE时,服务器做所有的工作。 myisamchk也有你可用来改进一个表的性能的很多其他选项:
对于选项完整的描述见myisamchk调用语法。 (T114)
上一篇:再谈MySQL数据库备份恢复和乱码问题 下一篇:快速恢复MySQL数据库下的用户口令 更多相关文章
|
推荐文章
精彩文章
|