DBAtlas · Atlas de operaciones de bases de datos

1205: Lock wait timeout exceeded; try restarting transaction (se superó el tiempo de espera de bloqueo; reinicie la transacción)

MySQL

¿Qué significa?

Una transacción esperó un bloqueo de fila necesario durante innodb_lock_wait_timeout segundos, no pudo adquirirlo y agotó el tiempo de espera.

¿Por qué ocurre?

Otra transacción que mantiene el bloqueo durante mucho tiempo sin commit ni rollback; transacciones abiertas inactivas, actualizaciones masivas de larga duración o filas calientes en contención.

Cómo solucionarlo

Encuentre la transacción bloqueante: combine performance_schema.data_lock_waits con data_locks (information_schema.innodb_lock_waits/innodb_trx en versiones antiguas). Haga commit/rollback de la transacción bloqueante o termínela con KILL <trx_mysql_thread_id> si es necesario. Mantenga las transacciones cortas y no deje transacciones inactivas (autocommit/lógica de la aplicación). Si es necesario, ajuste innodb_lock_wait_timeout a la carga de trabajo.

Abrir en DBAtlas →

Más entradas de este motor