În lista mea de procese, văd un proces de lungă durată. Nu există nicio interogare, doar comanda „Listă de câmpuri” cu o coloană de informații goală. A așteptat aproape 20 de minute pe o blocare de metadate a unei tabele pe o masă nespecificată.
Google pentru „Lista de câmpuri de comandă MySQL” nu a returnat nimic util. Poate cineva să-mi spună ce încearcă să facă această comandă și ce s-ar putea să fi provocat?
Utilizarea MySQL 5.6.35 pe o casetă CentOS 6
Comentarii
- Vă rugăm să citiți meta.stackoverflow.com/a/285557/124486 și răspunsul acceptat
Răspuns
Căutați orice linie din PROCESSLIST
cu un timp mai mare decât cel (1188). Este probabil indică ticălosul. Proprietarul ambelor rânduri poate da un indiciu.
O „blocare a metadatelor” implică altceva decât interogări simple – posibil ALTER TABLE
sau LOCK TABLES
(la fel ca pentru mysqldump
), etc.
„Lista câmpurilor” sună ca sondarea information_schema
pentru coloanele din tabel, dar m-aș putea înșela.
O altă posibilitate este că există o tranzacție deschisă care așteaptă să fie COMMITted
. (Și este „între” afirmații când PROCESSLIST
a fost apucat.)
SHOW OPEN TABLES;
ar putea oferi un alt indiciu.
SHOW OPEN TABLES;