I min processlista ser jag en långvarig process. Det finns ingen fråga, bara kommandot ”Fältlista” med en tom infokolumn. Det har väntat i nästan 20 minuter på ett metadatalås på en ospecificerad tabell.
Googling efter ”MySQL-kommandofältlistan” har inte returnerat något användbart. Kan någon berätta för mig vad detta kommando försöker göra och vad kan ha orsakat det?
Använda MySQL 5.6.35 på en CentOS 6-ruta
Kommentarer
- Läs meta.stackoverflow.com/a/285557/124486 och det accepterade svaret
Svar
Leta efter alla rader i PROCESSLIST
med en högre tid än den (1188). Det troligen anger skurken. Ägaren till båda raderna kan ge en ledtråd.
Ett ”metadatalås” innebär något annat än enkla frågor – eventuellt ALTER TABLE
eller LOCK TABLES
(som för mysqldump
) osv.
”Fältlista” låter som sondering information_schema
för kolumnerna i tabellen, men jag kan ha fel.
En annan möjlighet är att det finns en öppen transaktion som väntar på att vara COMMITted
. (Och det är ”mellan” uttalanden när PROCESSLIST
grep.)
SHOW OPEN TABLES;
kan ge en annan ledtråd.
SHOW OPEN TABLES;