Okay, I think I found the problem: because the disk was full, /tmp got mounted as "overflow", which is a RAM-based filesystem, with only 1MB space. MySQL uses /tmp to create temporary tables for complicated queries. These temporary tables can easily get bigger than 1MB, that's why the call is not working.
As far as I could find out, a reboot of the machine would solve the problem, but I'm not sure if everything comes up again if I do that. What do you think? Is it save to reboot?
I know this is not the best solution, but it's the simplest. Because at boot time the check runs, where to mount /tmp, and actually the root filesystem / would be the best ;-)