Llegué a esta pregunta buscando "mysql alter table Hanging" y creo que la respuesta (en los comentarios) debería estar documentada.
Si está ejecutando un comando MySQL (en este caso, para agregar una columna) y se bloquea inesperadamente, p. no debido al tamaño de los datos en la tabla, luego verifique los otros procesos que se ejecutan en la base de datos. Dejé la consulta ejecutándose, me conecté al servidor con otro cliente y escribí
SHOW PROCESSLIST;
Mi consulta estaba colgada y este mensaje estaba en el state
columna:
Waiting for table metadata lock
Noté que tenía varias conexiones zombis desde mi máquina, las maté (KILL xxx
donde xxx
es el número en el Id
columna), y luego el proceso finalizó inmediatamente.