Deadlocks dans MySQL

Cet article traite des blocages de MySQL pour aider à les identifier et à les résoudre s’ils provoquent la panne d’un site, l’importation de base de données bloquée ou d’autres problèmes Adobe Commerce.

Produits et versions concernés

  • Adobe Commerce sur site 2.2.x et 2.3.x
  • Adobe Commerce sur l’infrastructure cloud 2.2.x et 2.3.x

Problème

Dans MySQL, des blocages sont bloqués et des demandes de verrouillage se produisent lorsque plusieurs transactions sont bloquées. Les horloges présentes n’indiquent pas toujours un problème, mais sont souvent le symptôme d’un autre problème MySQL ou Adobe Commerce qui s’est produit.

Souvent, les journaux d’application, de déploiement ou MySQL mentionnent une "blocage" erreur ou erreur "Le blocage a été détecté lors de la tentative de verrouillage ; essayez de relancer la transaction."

Cause

Les blocages de compte peuvent avoir plusieurs causes, mais le plus courant est si vous effectuez une interaction (web/processes/cron jobs/autres utilisateurs/maintenance MySQL/imports MySQL) tout en exécutant des requêtes DML/DDL en même temps.

Par exemple, il est recommandé d’éviter un import de base de données MySQL bloqué en mettant d’abord votre site en mode de maintenance afin d’éviter d’envoyer des requêtes SQL vers la base de données, ce qui pourrait entraîner des blocages et un import de base de données bloqué.

Solution

  1. Recherchez les erreurs de blocage dans les journaux d’application, de déploiement ou MySQL :

  2. Vérifiez votre liste de processus MySQL pour exécuter les processus avec la commande . mysql -e 'show full processlist';

  3. Si vous utilisez Adobe Commerce sur l’infrastructure cloud, vérifiez que l’esclave MySQL est activé. Consultez cet article : Déployer des variables (MYSQL_USE_SLAVE_CONNECTION).

  4. Selon les erreurs impliquées, la solution peut se présenter ou vous devrez peut-être inclure vos informations de journal si vous devez ouvrir une Ticket d’assistance.

Lecture connexe

NOTE
Nous sommes conscients que cet article peut encore contenir des termes logiciels standard que certains peuvent trouver racistes, sexistes ou oppressifs et qui peuvent faire que le lecteur se sent blessé, traumatisé ou mal accueilli. Adobe s’efforce de supprimer ces termes de notre code, de notre documentation et de nos expériences utilisateur.
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a