Al ejecutar una query en un MySQL contra una tabla con el engine InnoDB nos podemos encontrar con el error:
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
La variable innodb_lock_wait_timeout permite definir el tiempo va a esperar una query a obterner un lock, por lo que podemos minimizar este error aumentando este timeout a costa de asumir que las queries pueden tener esta tiempo el thread bloqueado a la espera. Dependiendo del entorno quizá nos interesa incluso bajarlo para evitar que las queries se queden esperando (por ejemplo en entorno web). Vamos a ver como investigar este problema viendo las transacciones implicadas en un problema de este tipo.
Primero vamos a ver como ver las transacciones de InnoDB. Para ello primero vamos a desactivar el …
[Lea más]