집 >데이터 베이스 >MySQL 튜토리얼 >Can’t open file:/'[Table]mytable.MYI/&_MySQL
也许很多人遇到过类似Can’topenfile:‘[Table]mytable.MYI’这样的错误信息,却不知道怎么解决他,下面我们做个介绍,
多数情况下,数据库被破坏只是指索引文件受到了破坏,真正的数据被破坏掉的情况非常少。大多数形式的数据库破坏的的修复相当简单。
和前面的校验一样,修复的方式也有三种。
下面讲的方法只对MyISAM格式的表有效。其他类型的损坏需要从备份中恢复。
1,REPAIRTABLESQLstatement(mysql服务必须处于运行状态)。
2,命令mysqlcheck(mysql服务可以处于运行状态)。
3,命令myisamchk(必须停掉mysql服务,或者所操作的表处于不活动状态)。
在修复表的时候,最好先作一下备份。所以你需要两倍于原始表大小的硬盘空间。请确保在进行修复前你的硬盘空间还没有用完。
1>用”repairtable”方式修复
语法:repairtable表名[选项]
选项如下:
QUICK用在数据表还没被修改的情况下,速度最快
EXTENDED试图去恢复每个数据行,会产生一些垃圾数据行,万般无奈的情况下用
USE_FRM用在.MYI文件丢失或者头部受到破坏的情况下。利用.frm的定义来重建索引
多数情况下,简单得用”repairtabletablename”不加选项就可以搞定问题。但是当.MYI文件丢失或者头部受到破坏时,这样的方式不管用,例如:
mysql>REPAIRTABLEmytable;
+――――――――-+――