Nel mio elenco di processi, vedo un processo a lunga esecuzione. Non vi è alcuna query, solo il comando “Elenco campi” con una colonna di informazioni vuota. Ha atteso quasi 20 minuti su un blocco dei metadati di una tabella su una tabella non specificata.
Cercare su Google “Elenco campi comando MySQL” non “ha restituito nulla di utile. Qualcuno può dirmi cosa sta cercando di fare questo comando e cosa potrebbe averlo causato?
Utilizzo di MySQL 5.6.35 su un CentOS 6 box
Commenti
- Leggi meta.stackoverflow.com/a/285557/124486 e la risposta accettata
Risposta
Cerca eventuali righe in PROCESSLIST
con un tempo superiore a quello (1188). probabilmente indica il cattivo. Il proprietario di entrambe le righe potrebbe fornire un indizio.
Un “blocco dei metadati” implica qualcosa di diverso dalle semplici query, possibilmente ALTER TABLE
o LOCK TABLES
(come mysqldump
), ecc.
“Elenco campi” suona come cercare information_schema
per le colonne nella tabella, ma potrei sbagliarmi.
Unaltra possibilità è che ci sia una transazione aperta che aspetta di essere COMMITted
. (Ed è “tra” le istruzioni quando PROCESSLIST
è stato preso.)
SHOW OPEN TABLES;
potrebbe fornire un altro indizio.
SHOW OPEN TABLES;