Sometimes when this error happens with temp tables:
#126 - Incorrect key file for table '/tmp/#sql_64d_0.MYI'; try to repair it
It can be because the
/tmp folder is running out of space. On some Linux installations,
/tmp is in its own partition and does not have much space – big MySQL queries will fill it up.
You can use
df -h to check whether
\tmp is in its own partition, and how much space is allocated to it.
If it is in its own partition and short of space, you can either:
(a) modify /tmp so that its parition has more space (either by reallocating or moving it to the main partition – e.g. see here)
(b) changing MySql config so that it uses a different temp folder on a different partition, e.g.