sql >> Databasteknik >  >> RDS >> Mysql

MySQL ALTER TABLE hänger sig

Jag kom till denna fråga genom att söka på "mysql alter table hanging" och tycker att svaret (i kommentarerna) borde dokumenteras.

Om du kör ett MySQL-kommando (i det här fallet för att lägga till en kolumn) och det oväntat hänger sig, t.ex. inte på grund av storleken på data i tabellen, kontrollera sedan de andra processerna som körs mot databasen. Jag lämnade frågan igång, kopplade till servern med en annan klient och skrev

SHOW PROCESSLIST;

Min fråga hängde, och det här meddelandet var i state kolumn:

Waiting for table metadata lock

Jag märkte att jag hade flera zombieanslutningar från min maskin, dödade dem (KILL xxx där xxx är numret i Id kolumn), och sedan avslutades processen omedelbart.



  1. I Oracle AS fungerar inte aliaset

  2. Inaktivera och senare aktivera alla tabellindex i Oracle

  3. Hantera komplexa WHERE-satser med en PHP Query Builder

  4. SIGN() Exempel i SQL Server