Стигнах до този въпрос, като потърсих „mysql alter table hanging“ и смятам, че отговорът (в коментарите) трябва да бъде документиран.
Ако изпълнявате MySQL команда (в този случай за добавяне на колона) и тя неочаквано виси, напр. не се дължи на размера на данните в таблицата, след това проверете другите процеси, работещи спрямо базата данни. Оставих заявката да работи, свързах се със сървъра с друг клиент и написах
SHOW PROCESSLIST;
Заявката ми висеше и това съобщение беше в state
колона:
Waiting for table metadata lock
Забелязах, че имам няколко зомбита връзки от моята машина, убих ги (KILL xxx
където xxx
е номерът в Id
колона) и след това процесът приключи незабавно.