Deadlock in MySQL

Questo articolo parla dei deadlock in MySQL per aiutarli a identificare e risolvere eventuali problemi di blocco di un sito, blocco dell’importazione del database o altri problemi di Adobe Commerce.

Prodotti e versioni interessati

  • Adobe Commerce on-premise 2.2.x e 2.3.x
  • Adobe Commerce su infrastruttura cloud 2.2.x e 2.3.x

Problema

I deadlock in MySQL si verificano quando due o più transazioni si bloccano reciprocamente e richiedono blocchi. I deadlock presenti non sempre indicano un problema, ma spesso sono un sintomo di altri problemi MySQL o Adobe Commerce che si sono verificati.

I registri applicazioni, distribuzione o MySQL spesso menzionano un errore "deadlock" o l'errore "Deadlock trovato durante il tentativo di ottenere il blocco; provare a riavviare la transazione."

Causa

I deadlock possono avere più cause, ma il più comune è l'esecuzione di interazioni (siti web/processi/processi cron/altri utenti/manutenzione MySQL/importazioni MySQL) durante l'esecuzione di query DML/DDL contemporaneamente.

Ad esempio, è consigliabile evitare l'importazione di un database MySQL bloccato attivando prima la modalità di manutenzione per evitare di inviare al database richieste SQL che potrebbero causare deadlock e un'importazione di database bloccata.

Soluzione

  1. Verificare la presenza di errori di deadlock nei registri applicazioni, distribuzione o MySQL:

  2. Controllare l'elenco dei processi MySQL per l'esecuzione dei processi con il comando mysql -e 'show full processlist';

  3. Se utilizzi Adobe Commerce su infrastruttura cloud, verifica che MySQL slave sia abilitato. Consulta questo articolo: Distribuire le variabili (MYSQL_USE_SLAVE_CONNECTION).

  4. A seconda degli errori coinvolti, la soluzione potrebbe presentarsi da sola o potrebbe essere necessario includere le informazioni di registro utili per aprire un ticket di supporto.

Lettura correlata

NOTE
Siamo consapevoli che questo articolo può ancora contenere termini software standard del settore che alcuni possono trovare razzisti, sessisti o oppressivi e che possono far sentire il lettore ferito, traumatizzato, o sgradito. Adobe sta lavorando per rimuovere questi termini dal nostro codice, dalla nostra documentazione e dalle esperienze utente.
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a