En mi lista de procesos, veo un proceso de larga ejecución. No hay ninguna consulta, solo el comando «Lista de campos» con una columna de información vacía. Ha estado esperando casi 20 minutos en un bloqueo de metadatos de tabla en una tabla no especificada.
Buscar en Google «Lista de campos de comandos de MySQL» no arrojó nada útil. ¿Alguien puede decirme qué está tratando de hacer este comando? y ¿qué pudo haberlo causado?
Usando MySQL 5.6.35 en una caja de CentOS 6
Comentarios
- Lea meta.stackoverflow.com/a/285557/124486 y la respuesta aceptada
Respuesta
Busque cualquier línea en PROCESSLIST
con un tiempo superior a ese (1188). Es probablemente indica el villano. El propietario de ambas filas puede dar una pista.
Un «bloqueo de metadatos» implica algo más que consultas simples, posiblemente ALTER TABLE
o LOCK TABLES
(como para mysqldump
), etc.
«Lista de campos» suena como sondear information_schema
para las columnas en la tabla, pero podría estar equivocado.
Otra posibilidad es que hay una transacción abierta que está esperando ser COMMITted
. (Y es «entre» declaraciones cuando se tomó PROCESSLIST
).
SHOW OPEN TABLES;
podría dar otra pista.
SHOW OPEN TABLES;