Dotarłem do tego pytania, wyszukując „mysql alter table hanging” i myślę, że odpowiedź (w komentarzach) powinna być udokumentowana.
Jeśli uruchamiasz polecenie MySQL (w tym przypadku, aby dodać kolumnę) i nieoczekiwanie się zawiesza, np. nie ze względu na rozmiar danych w tabeli, sprawdź inne procesy działające w bazie danych. Zostawiłem zapytanie uruchomione, połączyłem się z serwerem z innym klientem i wpisałem
SHOW PROCESSLIST;
Moje zapytanie zawieszało się, a ta wiadomość była w state
kolumna:
Waiting for table metadata lock
Zauważyłem, że mam kilka połączeń zombie z mojego komputera, zabiłem je (KILL xxx
gdzie xxx
to numer w Id
kolumna), a następnie proces zakończył się natychmiast.