Michal Čihař - Archive for July 26, 2009

MySQL way of repairing tables

This is just a small rant about issue which did hit me today. One of MyISAM tables on my database server has been crashed. Well you can expect that kind of thing after a hardware failure. I did start REPAIR TABLE and nothing happened for quite a long time.

Finally I managed to look into the logs and found this jewel:

[ERROR] /usr/sbin/mysqld: Disk is full writing '/tmp/STwW9hIc' (Errcode: 28). Waiting for someone to free space... Retry in 60 secs

Well MySQL, nobody else is not using this vserver and the /tmp is a ram filesystem. So if you filled it up, nobody is going to make space for you there and you will wait for ages.

Maybe continuous waiting is not the right idea...