当我想要GROUP BY一个查询时,我收到此错误消息:
Incorrect key file for table '/tmp/#sql_623d_0.MYI'; try to repair it
这是一个InnoDB表,有3.000.000条记录和4,3 GiB大。
当我跑步时
repair table mytablename
我收到此消息:
The storage engine for the table doesn't support repair
优化赢得了工作。该怎么办?
答案 0 :(得分:6)
问题不在于桌子是否腐败。当你做一个分组时,mysql会创建一个临时表。由于表太大,临时表占用的磁盘空间超过10GB。磁盘100%已满时出现错误消息。
我用命令来检查磁盘空间:
df -h /dev/root
因此,在MySQL配置(my.ini)中,我将临时表所在的位置(tmpdir)更改为具有足够可用磁盘空间的分区。
现在查询运行成功