Cheguei a essa pergunta pesquisando "mysql alter table hanging" e acho que a resposta (nos comentários) deve ser documentada.
Se você estiver executando um comando MySQL (neste caso, para adicionar uma coluna) e ele estiver travando inesperadamente, por exemplo. não devido ao tamanho dos dados na tabela, verifique os outros processos em execução no banco de dados. Deixei a consulta em execução, conectei ao servidor com outro cliente e digitei
SHOW PROCESSLIST;
Minha consulta estava suspensa e esta mensagem estava no
state
coluna:Waiting for table metadata lock
Percebi que tinha várias conexões zumbis da minha máquina, matei-as (
KILL xxx
onde xxx
é o número no Id
coluna) e, em seguida, o processo terminou imediatamente.