Você pode aumentar o tempo limite de bloqueio com um InnoDB:
Edite /etc/my.cnf ou /etc/mysql/my.cnf (supondo que sua máquina dev seja Linux / Unix)
Descomente (ou adicione) a linha:
innodb_lock_wait_timeout = 50
E altere a configuração para um número maior, digamos 300. É em segundos.
Reinicie o mysql e execute novamente a sua consulta.
Como alternativa, você pode despejar os dados, descartar a tabela, recriá-la com o índice e trazer os dados de volta. Ou pode criar uma nova tabela com o índice e selecionar os dados da tabela antiga na nova tabela. Em ambos os casos, você pode dividir a importação / cópia de dados em partes menores (leia-se: transações), que não excederão o tempo limite.