首页 > 数据库 > MySQL > 正文

mysql中Incorrect key file for table: Try to repair it

2024-07-24 12:38:23
字体:
来源:转载
供稿:网友

在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中找到出现问题的表的数据库,然后进入找到出问题的表,再点击下面的修复表即可快速实现解决这个问题.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表