Errore di risoluzione ripristino database: ERRORE 1105 (HY000) - Dimensione massima set di scrittura superata in Adobe Commerce Cloud
Durante il ripristino di un backup MariaDB in un cluster Galera, è possibile che venga rilevato l'errore Dimensione massima set di scrittura superata a causa di un limite di dimensioni delle transazioni di 2 GB. Questo articolo fornisce una soluzione dettagliata per regolare i comandi di backup e ripristino per gestire transazioni più grandi, garantendo un processo di ripristino di successo.
Descrizione description
Ambiente
Adobe Commerce Cloud
Questo problema si verifica in un ambiente cluster MariaDB Galera.
Problema/Sintomi
Quando si tenta di ripristinare un backup del database MariaDB in un cluster Galera, il processo potrebbe non riuscire e presentare il seguente errore:
ERRORE 1105 (HY000) alla riga [ numero di riga specifico]: dimensione massima del set di scrittura superata
Causa
La variabile di sistema wsrep_max_ws_size del cluster Galera imposta una dimensione massima del set di scrittura di 2 GB. Se un backup include righe di grandi dimensioni o dati binari che superano tali dimensioni, il processo di ripristino non riesce.
Risoluzione resolution
Per risolvere il problema, regolare il processo di backup per evitare transazioni di grandi dimensioni aumentando le dimensioni di --max_allowed_packet. Questo consente al server MySQL di gestire righe più grandi o dati binari durante le operazioni di backup e ripristino. Ricorda di eseguire sempre il test in un ambiente non di produzione.
-
Identificare la causa esatta dell'errore dai log degli errori MySQL. Cerca messaggi simili a:
ERRORE 1105 (HY000) alla riga
[numero di riga specifico]: dimensione massima del set di scrittura superataCiò conferma che l’errore è dovuto al fatto che le dimensioni della transazione superano il limite di Galera.
-
Crea un nuovo backup specificando il parametro
--max_allowed_packetper consentire dimensioni di dati maggiori ed evitare transazioni di dimensioni eccessive. Il parametroThe --max_allowed_packetdefinisce la dimensione massima dei pacchetti di dati che il server può elaborare durante la comunicazione con un client. L'aumento di queste dimensioni consente di gestire righe o oggetti di grandi dimensioni, impedendo la suddivisione delle transazioni e l'aumento delle dimensioni dei set di scrittura. Per la maggior parte degli scenari,--max_allowed_packet=64Mè sufficiente. Regolare questo valore su —max_allowed_packet=128M se il database contiene righe o dati binari molto grandi. Inoltre, utilizza la compressione (ad esempio, gzip) per ridurre le dimensioni del file.
Esempio di comando Backup:code language-none mysqldump -h <host> -u <username> -p <password> --single-transaction --max_allowed_packet=64M <db_name> | gzip > /tmp/<dump_name>.sql.gz -
Durante il ripristino del backup, specificare un valore
--max_allowed_packetaumentato per garantire la compatibilità con il backup modificato.
Esempio di comando Restore:zcat /tmp/<dump_name>.sql.gz | sed -e 's/DEFINER[ ] *=[ ] *[ *] *\*/\*/' | mysql --host=127.0.0.1 -u <username> -p <password> -
Dopo aver ripristinato il backup, confermare che il processo sia stato completato senza errori. Controlla i registri per assicurarti che non siano presenti avvisi o anomalie.
Lettura correlata
wsrep_max_ws_size nelle variabili di sistema del cluster di Galera nella documentazione di MariaDB.