I know this question was asked before, but nothing seems to help.
I had this issue 2 - 3 days ago, asked server support, and they told me that I have to move mysql
Issue was from mysql using /var/tmp as tmpdir which is not big enough to copy the table and create the needed indexes. I fixed it by changing tmpdir location to a place that contains more space.
first I created /home/mysql/tmp directory
mkdir /home/mysql/tmp
then I changed the owner of that directory to mysql:mysql
chown mysql:mysql /home/mysql/tmp
then I stopped mysql server
service mysql stop
then started it again with the following command:
service mysql start --tmpdir=/home/mysql/tmp