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

ange bildbeskrivning här

Kommentarer

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.

Kommentarer

  • Förmodligen borde ha inkluderat i frågan att det är den längsta processen. Informationsschemadelen är dock meningsfull
  • Jag lade till en ny tanke på transaktioner. Och SHOW OPEN TABLES;

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *