Mysql-error:表'/tmp/#sql_6212_0.MYI'的密钥文件不正确;尝试修复它

时间:2013-11-07 10:24:55

标签: mysql

当我尝试运行查询时,它给出了一个错误,例如“表'/ tmp /#sql_6212_0.MYI'的错误密钥文件;尝试修复它”。

当我谷歌时,我发现下面的网址并尝试通过在tmp文件夹中创建一些空间来解决但是得到相同的结果。

我无法修复它,因为表格是Innodb。

Incorrect key file for table '/tmp/#sql_3c51_0.MYI'; try to repair it

MySQL incorrect key file for tmp table when making multiple joins

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

如果修复由于/ tmp-Partition太小而失败,那是因为MySQL需要空间来重建索引。您可以尝试使用myisamchk修复表,并从重建中排除单个索引。

首先获得表格索引的概述和描述:

myisamchk --description tablename

然后仅包含要重建的索引。 (转到您服务器上的数据库目录以发出以下命令。)

myisamchk --recover -verbose --keys-used=7 tablename

如果你有4个索引并且你只想重建前3个,那么使用选项" - 使用键"数字7是二进制0111的十进制数。

如果myisamchk发现任何错误,可以选择使用-f(--force)自动执行修复操作。

MySQL停用排除的索引。