1205: Lock wait timeout exceeded; try restarting transaction (délai d'attente de verrou dépassé ; relancez la transaction)
MySQLQue signifie cette erreur ?
Une transaction a attendu un verrou de ligne requis pendant innodb_lock_wait_timeout secondes, n'a pas pu l'acquérir et a expiré.
Cause
Une autre transaction détient le verrou longtemps sans commit ni rollback ; transactions ouvertes inactives, mises à jour en masse de longue durée ou lignes chaudes disputées.
Comment la corriger
Trouvez la transaction bloquante : joignez performance_schema.data_lock_waits à data_locks (information_schema.innodb_lock_waits/innodb_trx dans les versions plus anciennes). Validez/annulez la transaction bloquante ou terminez-la avec KILL <trx_mysql_thread_id> si nécessaire. Gardez les transactions courtes et ne laissez pas de transactions inactives (autocommit/logique applicative). Si nécessaire, ajustez innodb_lock_wait_timeout à la charge.
Autres entrées pour ce moteur
- 1045Access denied for user (using password: YES/NO) (accès refusé pour l'utilisateur)
- 1062Duplicate entry for key (entrée en double pour la clé)
- 1213Deadlock found when trying to get lock; try restarting transaction (interblocage lors de l'acquisition du verrou ; relancez la transaction)
- 1040Too many connections (trop de connexions)
- 1064You have an error in your SQL syntax (erreur de syntaxe SQL)
- 1146Table doesn't exist (la table n'existe pas)
- 1054Unknown column in field list (colonne inconnue dans la liste des champs)