当前位置:Gxlcms > mysql > mysql中Incorrectkeyfilefortable:Trytorepairit

mysql中Incorrectkeyfilefortable:Trytorepairit

时间:2021-07-01 10:21:17 帮助过:20人阅读

在windows系统中有时会碰到mysql中Incorrect key file for table: Try to repair it提示,导致mysql 表毁坏的常见原因:1、 服务器突然断电导致数据文件损坏。2、 强制关机,没有先关闭mysql 服务等。

损坏的症状

一个损坏的表的典型症状如下:
1 、当在从表中选择数据之时,你得到如下错误:Incorrect key file for table: '...'. Try to repair it
2 、查询不能在表中找到行或返回不完全的数据。
3 、Error: Table 'p' is marked as crashed and should be repaired 。
4 、打开表失败: Can’t open file: ‘×××.MYI’ (errno: 145) 。


MySQL 表损坏的修复

MyISAM 表可以采用以下步骤进行修复 :

1、 使用 reapair table 或myisamchk 来修复。
用phpmyadmin修复表后悲具了,提示“marked as crashed and last (automatic) repair failed "。查了一相关资料后得知用myisamchk工具可以修复表。
myisamchk.exe在MySQLbin目录下,如果该目录下没有请下载本文附件myisamchk.rar。

要检查一个表的错误,只需要运行myisamchk(在MySQL的bin目录下)并提供文件的位置和表名,或者是表的索引文件名:

代码如下

myisamchk /usr/local/mysql/var/dbName/tblName
myisamchk /usr/local/mysql/var/dbName/tblName.MYI


上面的两个命令都可以执行对指定表的检查。要检查数据库中所有的表,可以使用通配符

修复步骤:

1)修复前将mysql服务停止。
2)打开命令行方式,然后进入到mysql的/bin目录。
3)执行myisamchk --recover 数据库所在路径/*.MYI。 注:提示后面不要跟随;号

不过需要注意的是,Myisamchk工具并不是万能的。对于一些极端性的损坏,如表格描述文件损坏,这个工具就没有用武之地了。为此数据库管理员还是需要最好数据库日常的备份工作

利用phpmyadmin修改

在phpmyadmin中找到出现问题的表的数据库,然后进入找到出问题的表,再点击下面的修复表即可快速实现解决这个问题。

人气教程排行