This error is most likely due to the fact that the MySQL temporary directory is too small (as other comments mention). In many cases, modifying a table in MySQL will result in a duplicate table, and you will need at least as much free space in the temporary directory as the modified table uses.
my.cnf tmpdir. my.cnf /etc/mysql/my.cnf Ubuntu, ( , ). , tmpdir ( ), , .
Ubuntu, , df -h .