mysql 修复表

来源:互联网 发布:xperia xzs知乎 编辑:程序博客网 时间:2024/05/21 07:11

一张损坏的表的症状通常是查询意外中断并且你能看到例如这些错误: 

“tbl_name.frm”被锁定不能改变。 

不能找到文件“tbl_name.MYI”(Errcode :### )。 

从表处理器的得到错误###(此时,错误135是一个例外)。 

意外的文件结束。 

记录文件被毁坏。 

在这些情况下,你必须修复表。myisamchk通常能检测并且修复出错的大部分东西。

修复过程包含最多4个阶段,在下面描述。在你开始前,你应该cd到数据库目录和检查表文件的权限,确保他们可被运行mysqld的Unix用户读取(和你,因为你需要存取你正在检查的文件)。如果它拒绝你修改文件,他们也必须是可被你写入的。

阶段1:检查你的表

运行myisamchk *.MYI或(myisamchk -e *.MYI,如果你有更多的时间)。使用-s(沉默)选项禁止不必要的信息。

你必须只修复那些myisamchk报告有一个错误的表。对这样的表,继续到阶段2。 

如果在检查时,你得到奇怪的错误(例如out of 

memory错误),或如果myisamchk崩溃,到阶段3。

舞台 2 :简单安全的修复

首先,试试myisamchk -r -q tbl_name(-r 

-q意味着“快速恢复模式”)。这将试图不接触数据文件来修复索引文件。如果数据文件包含它应有的一切和在数据文件指向正确

0 0
原创粉丝点击