Salta al contenuto

Come posso aggiornare una versione del motore di database Amazon RDS per MySQL e ridurre al minimo i tempi di inattività?

5 minuti di lettura
0

Desidero aggiornare una versione del motore di database Amazon Relational Database Service (Amazon RDS) per MySQL con tempi di inattività minimi.

Risoluzione

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Aggiorna una versione del motore di database Amazon RDS per MySQL

Per aggiornare un motore di database Amazon RDS a una versione principale, devi utilizzare manualmente la Console di gestione AWS, AWS CLI o l'API RDS. Per ulteriori informazioni, consulta Aggiornamento manuale della versione del motore.

Per aggiornare automaticamente un motore di database Amazon RDS a una versione secondaria, consulta Aggiornamento automatico della versione secondaria del motore.

Best practice per ridurre al minimo i tempi di inattività durante gli aggiornamenti del motore di database Amazon RDS per MySQL

Stima il tempo di aggiornamento

Il tempo di aggiornamento dipende dal tipo di aggiornamento, dai dati e dalle risorse disponibili. Per stimare i tempi di aggiornamento, verificali su istanze database di prova separate. Per avviare istanze database di prova per l'aggiornamento principale o secondario, utilizza un ripristino da snapshot o una replica di lettura. Per ulteriori informazioni, consulta Aggiornamenti del motore di database RDS per MySQL.

Per ridurre al minimo i tempi di inattività dell'aggiornamento, utilizza l'implementazione blu/verde per gli aggiornamenti del database. Un'implementazione blu/verde crea un ambiente di staging che copia l'ambiente di produzione. Puoi aggiornare le istanze database Amazon RDS in un ambiente verde senza che ciò influisca sui carichi di lavoro di produzione. Quindi scambia gli ambienti dopo averli verificati.

Impatto del backup del database

Quando hai attivato i backup, Amazon RDS crea uno snapshot della versione precedente dell'istanza database per tutti gli aggiornamenti di versione. Se non trova backup recenti, Amazon RDS crea uno snapshot completo durante il processo di aggiornamento. L'entità delle modifiche influisce sui tempi di aggiornamento. L'istanza database può continuare ad accettare traffico quando Amazon RDS crea lo snapshot. Al termine del backup, l'istanza database si arresta. Quindi MySQL esegue la nuova versione del motore su una rete disattivata per impedire qualsiasi connessione remota.

Impatto della chiusura lenta

Per eseguire una chiusura lenta, Amazon RDS imposta il valore del parametro innodb_fast_shutdown su 0. In una chiusura lenta, Amazon RDS unisce il buffer delle modifiche e procede alla pulizia completa delle righe eliminate. Una chiusura lenta potrebbe richiedere da alcuni minuti a più ore a seconda della quantità di dati recuperati. Una chiusura lenta di un database con un buffer delle modifiche grande o un elenco della cronologia lungo potrebbe richiedere più tempo. Per ulteriori informazioni, consulta slow shutdown (chiusura lenta), innodb_fast_shutdown, change buffer (buffer delle modifiche) e purge (rimozione) sul sito web MySQL.

Conversione delle tabelle di sistema e utente in una nuova versione

Per convertire le tabelle di sistema e utente in una nuova versione, sul database MySQL viene eseguita l'utilità binaria mysql_upgrade. A seconda dello stato della tabella, potresti doverla creare per renderla conforme a una nuova versione. L'utilità binaria mysql_upgrade aggiorna i metadati nella tabella e mostra che il database è stato aggiornato. Se hai un numero maggiore di tabelle, Amazon RDS per MySQL potrebbe impiegare più tempo per completare l'aggiornamento della versione principale. Per ulteriori informazioni, consulta mysql_upgrade — check and upgrade MySQL tables (mysql_upgrade — controllo e aggiornamento delle tabelle MySQL) sul sito web MySQL.

Considerazioni per gli aggiornamenti di MySQL

Durante i aggiornamenti della versione principale dalla 8.0 alla 8.4, Amazon RDS per MySQL ricostruisce alcune tabelle. A seconda della quantità di dati nelle tabelle, il completamento della ricostruzione potrebbe richiedere diverse ore o diversi giorni.

Incompatibilità tra le versioni principali di MySQL potrebbero causare problemi durante l'aggiornamento. Per un corretto aggiornamento, è consigliabile consultare le considerazioni relative agli aggiornamenti di MySQL. Quando avvii un aggiornamento da MySQL 5.7 a 8.0, Amazon RDS esegue automaticamente una serie di controlli preliminari per rilevare le incompatibilità. Per ulteriori informazioni, consulta Upgrading MySQL (Aggiornamento di MySQL) sul sito web MySQL.

Predisponi un piano di rollback

Per un aggiornamento da MySQL 8.0, Amazon RDS esegue una serie di controlli preliminari per verificare che lo spazio di archiviazione sia sufficiente per ricostruire le tabelle. Amazon RDS verifica inoltre che non esistano tabelle orfane. Amazon RDS non esegue controlli preliminari per gli aggiornamenti alle versioni precedenti a MySQL 5.7. È consigliabile predisporre un piano nel caso in cui l'aggiornamento non riesca e venga annullato a causa di potenziali errori di aggiornamento della versione principale.

Verifica la presenza di problemi nelle tabelle

Per verificare la presenza di problemi nelle tabelle, è consigliabile eseguire un mysqlcheck. È consigliabile verificare le operazioni di manutenzione della tabella su uno snapshot ripristinato. Per ulteriori informazioni, consulta mysqlcheck — a table maintenance program (mysqlcheck — programma di manutenzione delle tabelle ) sul sito web MySQL.

Informazioni correlate

Aggiornamento della versione del motore di un'istanza database

Best Practices for Upgrading Amazon RDS for MySQL and Amazon RDS for MariaDB (Best practice per l'aggiornamento di Amazon RDS per MySQL e Amazon RDS per MariaDB)

MySQL nelle versioni di Amazon RDS