Deadlocks in MySQL

Den här artikeln handlar om dödlägen i MySQL för att hjälpa till att identifiera och lösa dem om de orsakar problem med en webbplats, fast databasimport eller andra Adobe Commerce-problem.

Berörda produkter och versioner

  • Adobe Commerce lokal 2.2.x och 2.3.x
  • Adobe Commerce i molninfrastruktur 2.2.x och 2.3.x

Problem

Deadlocks i MySQL inträffar när två eller flera transaktioner håller ihop och begär lås. Deadlocks som finns tyder inte alltid på ett problem, utan är ofta ett symtom på något annat MySQL- eller Adobe Commerce-problem som har inträffat.

Programmet, distributionen eller MySQL-loggarna anger ofta en "deadlock" fel eller fel "Det gick inte att låsa vid försök att låsa. Försök starta om transaktionen."

Orsak

Deadlocks kan ha flera orsaker, men det vanligaste är om du utför någon interaktion (webbplats/processer/cron-jobb/andra användare/MySQL-underhåll/MySQL-importer) samtidigt som du utför DML-/DDL-frågor.

Det är till exempel en bra rutin att undvika en fastsatt import av MySQL-databas genom att först försätta platsen i underhållsläge för att undvika att SQL-begäranden skickas till databasen som kan orsaka lås och en fast databasimport.

Lösning

  1. Kontrollera programmet, distributionen eller MySQL-loggarna för att se om det finns några dödlåsningsfel:

  2. Kontrollera din MySQL-processlista för att köra processer med kommandot mysql -e 'show full processlist';

  3. Om du använder Adobe Commerce i molninfrastruktur kontrollerar du att MySQL-slav är aktiverat. Läs den här artikeln: Distribuera variabler (MYSQL_USE_SLAVE_CONNECTION).

  4. Beroende på vilka fel som har uppstått kan lösningen vara egen eller så måste du inkludera din användbara logginformation om du behöver öppna en Supportanmälan.

Relaterad läsning

NOTE
Vi är medvetna om att den här artikeln fortfarande kan innehålla programtermer som är branschstandard och som vissa kan finna rasistiska, sexistiska eller förtryckande och som kan få läsaren att känna sig sårad, traumatiserad eller ovälkommen. Adobe arbetar med att ta bort dessa villkor från vår kod, dokumentation och användarupplevelse.
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a