If you run MySQL and this error occurs:
SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/MYh0VgDS' (Errcode: 28)
then check if your server isn't using the famous "overflow" filesystem for /tmp, limited to 1 MB space.
The MySQL error message is - as usual - misleading and non-descriptive.
There are many other possible causes for this error code, so this one here might just be a hint.