mostra bloqueios mysql myisam

2

ao descartar ou renomear uma tabela com o mecanismo de armazenamento myisam, percebo que ele está aguardando o bloqueio de metadados da tabela, no entanto, mostrar lista de processos completa não revela a consulta incorreta. alguma ideia?

| 462 | root | xxx.xxx.xxx.xx:54658 | mydb | Sleep   | 1162 |                                 | NULL                                                 |
| 465 | root | localhost           | mydb | Query   |    0 | NULL                            | show full processlist                                |
| 466 | root | localhost           | mydb | Query   |  125 | Waiting for table metadata lock | alter table mytable rename to mytable_junk |
    
por user12145 21.02.2011 / 03:08

2 respostas

1

Se você estiver usando o MySQL 5.5, existe um relatório de bug .

Se for verdade, clique aqui para obter uma explicação sobre o bloqueio de metadados . O objetivo é proteger as tabelas contra a execução de DDL no meio de uma transação.

O que parece estranho é que você está recebendo isso em uma tabela MyISAM.

    
por 21.02.2011 / 20:57
0

Eu estava tentando converter um agrupamento de tabelas da seguinte forma:

 alter table xxx convert to character set utf8 collate utf8_unicode_ci;

Em seguida, notei que no "show processlist completo" a solicitação estava congelada no seguinte estado "Aguardando o bloqueio de metadados da tabela"

Para resolver o problema, abri outro console em paralelo e iniciei o seguinte comando SQL:

flush tables

Atenciosamente

    
por 03.04.2018 / 11:09

Tags