El problema fue que mysql usó /var/tmp como tmpdir, que no es lo suficientemente grande como para copiar la tabla y crear los índices necesarios. Lo arreglé cambiando la ubicación de tmpdir a un lugar que contiene más espacio.
primero creé el directorio /home/mysql/tmp
mkdir /home/mysql/tmp
luego cambié el propietario de ese directorio a mysql:mysql
chown mysql:mysql /home/mysql/tmp
luego detuve el servidor mysql
service mysql stop
luego lo inició de nuevo con el siguiente comando:
service mysql start --tmpdir=/home/mysql/tmp