Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL ALTER TABLE si blocca

Sono arrivato a questa domanda cercando "mysql alter table hanging" e penso che la risposta (nei commenti) dovrebbe essere documentata.

Se stai eseguendo un comando MySQL (in questo caso per aggiungere una colonna) e si blocca inaspettatamente, ad es. non a causa della dimensione dei dati nella tabella, quindi controlla gli altri processi in esecuzione sul database. Ho lasciato la query in esecuzione, mi sono connesso al server con un altro client e ho digitato

SHOW PROCESSLIST;

La mia richiesta era in sospeso e questo messaggio era nello state colonna:

Waiting for table metadata lock

Ho notato che avevo diverse connessioni zombi dalla mia macchina, li ho uccisi (KILL xxx dove xxx è il numero nell'Id colonna), quindi il processo è terminato immediatamente.