当我尝试运行查询时,它给出了一个错误,例如“表'/ 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
任何帮助表示赞赏。
答案 0 :(得分:0)
如果修复由于/ tmp-Partition太小而失败,那是因为MySQL需要空间来重建索引。您可以尝试使用myisamchk修复表,并从重建中排除单个索引。
首先获得表格索引的概述和描述:
myisamchk --description tablename
然后仅包含要重建的索引。 (转到您服务器上的数据库目录以发出以下命令。)
myisamchk --recover -verbose --keys-used=7 tablename
如果你有4个索引并且你只想重建前3个,那么使用选项" - 使用键"数字7是二进制0111的十进制数。
如果myisamchk发现任何错误,可以选择使用-f(--force)自动执行修复操作。
MySQL停用排除的索引。