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

ingrese la descripción de la imagen aquí

Comentarios

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.

Comentarios

  • Probablemente debería haber incluido en la pregunta que es el proceso de ejecución más larga. Sin embargo, la parte del esquema de información tiene sentido.
  • Agregué otra idea: sobre las transacciones. Y SHOW OPEN TABLES;

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *