Waiting for table metadata lock
drop table tableA name
SELECT l1.lat, l1.lon, l2.zipcode FROM tableA l1, tableBl2 where l1.lat = l2.latitude and l1.lon = l2.longitude limit 10
Se esta for sua tabela, veja este link
você tem um impasse implícito. Mate as outras transações para liberar o drop, ou mate o drop para liberar as outras transações.
Você pode usar KILL thread_id, em sql_plus.
Estou adicionando mais informações desde que eu vim com outra experiência interessante.
Metadata
Dead locks podem ocorrer igualmente entre uma operação ddl em uma determinada tabela (drop
, alter
...) e um selecionar consulta nessa tabela. Sim,
select
. Então, se você fizer um loop sobre um cursor no mysql (ou php, por exemplo com
pdo::fetch
), e você executa uma instrução ddl na(s) mesma(s) tabela(s), você obterá um deadlock. Uma solução para este cenário atípico é liberar os bloqueios implícitos com um
commit
sistematicamente após qualquer instrução select ser completamente buscada.