write update tables read lock for mysql locks

mysql - update - select for share



La tabla de caĆ­da hace que MySQL se cuelgue (2)

Cuando intento soltar una tabla, MySQL se cuelga. No tengo otras sesiones abiertas. ¿Cómo resolver esto? He esperado 10 horas y el proceso no ha terminado.


Reiniciar MySQL podría no ser la solución más bonita, pero me funcionó:

sudo /etc/init.d/mysql restart mysqladmin drop YOURDATABASE


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

Si esta es tu mesa, mira este enlace.

Tienes un punto muerto implícito. Matar a las otras transacciones para liberar la caída, o matar a la caída para liberar las otras transacciones.

Puedes usar KILL thread_id, en sql_plus.

Estoy agregando más información ya que se me ocurrió otra experiencia interesante.

Metadata bloqueos muertos de Metadata pueden ocurrir igualmente entre una operación de ddl en una tabla determinada ( drop , alter ...) y una consulta de selección en esa tabla.

Sí, select .

Por lo tanto, si pdo::fetch un cursor en mysql (o php, por ejemplo, con pdo::fetch ), y ejecuta una declaración de ddl en la misma tabla, obtendrá un interbloqueo.

Una solución para este escenario atípico es liberar sistemáticamente los bloqueos implícitos con una declaración de commit una vez que se haya recuperado por completo cualquier instrucción de selección.