1205: Lock wait timeout exceeded; try restarting transaction
MySQLO que significa?
Uma transação aguardou um lock de linha necessário por innodb_lock_wait_timeout segundos, não conseguiu adquiri-lo e expirou.
Por que acontece?
Outra transação mantendo o lock por muito tempo sem commit ou rollback; transações abertas ociosas, atualizações em massa de longa duração ou hot rows disputadas.
Como resolver
Encontre a transação bloqueadora: faça join de performance_schema.data_lock_waits com data_locks (information_schema.innodb_lock_waits/innodb_trx em versões mais antigas). Faça commit/rollback da transação bloqueadora ou encerre-a com KILL <trx_mysql_thread_id> se necessário. Mantenha as transações curtas e não deixe transações ociosas (autocommit/lógica da aplicação). Se necessário, ajuste innodb_lock_wait_timeout à carga de trabalho.