Na minha lista de processos, vejo um processo de longa execução. Não há consulta, apenas o comando “Lista de campos” com uma coluna de informação vazia. Está esperando quase 20 minutos em um bloqueio de metadados de tabela em uma tabela não especificada.

Pesquisando por “Lista de campos de comando do MySQL” não retornou nada útil. Alguém pode me dizer o que este comando está tentando fazer e o que pode ter causado isso?

Usando MySQL 5.6.35 em uma caixa CentOS 6

insira a descrição da imagem aqui

Comentários

Resposta

Procure por quaisquer linhas em PROCESSLIST com um tempo superior a esse (1188). É provavelmente indica o vilão. O proprietário de ambas as linhas pode dar uma pista.

Um “bloqueio de metadados” envolve algo diferente de consultas simples – possivelmente ALTER TABLE ou LOCK TABLES (como para mysqldump), etc.

“Lista de campos” soa como sondar information_schema pelas colunas da tabela, mas posso estar errado.

Outra possibilidade é que haja uma transação aberta que está esperando para ser COMMITted. (E é “entre” as declarações quando PROCESSLIST foi capturado.)

SHOW OPEN TABLES; pode dar outra pista.

Comentários

  • Provavelmente deveria ter incluído na pergunta que é o processo de execução mais longo. A parte information_schema, entretanto, faz sentido
  • Eu adicionei outro pensamento – sobre as transações. E SHOW OPEN TABLES;

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *