Questa pagina descrive come eseguire la migrazione dei dati a un'istanza che esegue una versione successiva di MySQL. Prima di procedere con questo metodo, valuta la possibilità di eseguire l'upgrade della versione principale del database in-place.
Esistono due modi per eseguire l'upgrade della versione principale del database dell'istanza Cloud SQL per MySQL eseguendo la migrazione dei dati.
- Opzione 1. Utilizza il Database Migration Service (DMS). DMS supporta la migrazione da un'istanza Cloud SQL per MySQL. Puoi anche utilizzarlo per eseguire l'upgrade della versione di MySQL.
- Opzione 2. Sposta i dati da una versione di MySQL a un'altra esportando i dati dall'istanza attuale e importandoli che dati in una nuova istanza che esegue la versione successiva di MySQL. Questo processo comporta tempi di inattività: prima di avviare l'esportazione, devi impostare l'istanza attuale in modalità di sola lettura.
Questa pagina descrive la seconda opzione.
Pianificare un upgrade della versione principale
Scegli una versione principale di destinazione.
Consulta l'elenco delle versioni supportate da Cloud SQL.
Esamina le funzionalità offerte in ogni versione di MySQL e risolvi le incompatibilità.
Le nuove versioni principali introducono modifiche incompatibili che potrebbero richiedere la modifica del codice dell'applicazione, dello schema o delle impostazioni del database prima di poter eseguire l'upgrade dell'istanza del database. Esamina le note di rilascio della versione principale di destinazione per determinare le incompatibilità che devi risolvere. Se salti le versioni principali, risolvi le incompatibilità elencate per ogni versione che stai saltando.
Se esegui l'upgrade da MySQL 5.7 a MySQL 8.0, controlla le modifiche delle concessioni utente in MySQL 8.0.
Cloud SQL per MySQL versione 8.0 utilizza un nuovo flag di sistema denominato
partial_revokes, impostato suONper impostazione predefinita. A differenza di MySQL 5.7, questo flag rimuove la possibilità di utilizzare caratteri jolly nei comandiGRANTdel database. Per assicurarti che gli utenti del database abbiano accesso agli schemi di database corretti, modifica i privilegi degli utenti del database prima di eseguire l'upgrade a MySQL 8.0. Aggiorna i privilegi dell'utente in modo da utilizzare il nome completo degli schemi di database richiesti anziché i caratteri jolly.Per ulteriori informazioni sul funzionamento di questo flag in MySQL 8.0, consulta partial_revokes in MySQL 8.0.
Esegui un test dell'upgrade.
Esegui un dry run del processo di upgrade end-to-end con un'istanza di test prima di eseguire l'upgrade del database di produzione. Potresti voler testare l'upgrade utilizzando un clone anziché il database di produzione per evitare qualsiasi impatto sulle prestazioni dell' esportazione sul carico di lavoro di produzione.
Oltre a verificare che l'upgrade venga completato correttamente, esegui dei test per assicurarti che l'applicazione si comporti come previsto sul database aggiornato. Se non hai attivato gli aumenti automatici dello spazio di archiviazione, prendi nota dello spazio di archiviazione su disco utilizzato dall'istanza di test aggiornata per determinare se devi aumentare la capacità di archiviazione dell'istanza di produzione prima di eseguire l'upgrade.
Decidi quando vuoi eseguire l'upgrade.
Migrazione dei dati
Per eseguire la migrazione dei dati a un'istanza Cloud SQL che esegue una versione del database più recente:
Crea l'istanza con la versione principale del database di destinazione.
Assicurati che l'istanza target abbia:
- Spazio di archiviazione sufficiente per contenere tutti i dati dell'istanza attuale.
- Le stesse reti autorizzate dell'istanza attuale. Scopri di più.
- Gli stessi account utente, con gli stessi privilegi e password di MySQL.
Per ulteriori informazioni, consulta Creare un'istanza.
Verifica di poterti connettere alla nuova istanza con gli strumenti MySQL locali e aggiornarli, se necessario.
Imposta l'istanza Cloud SQL attuale in modalità di sola lettura impostando il flag di database
read_onlysuOn.Per informazioni, consulta Configurare i flag di database.
Esporta i dati dell'istanza attuale in un file di dump SQL, seguendo le istruzioni riportate in Esportare i dati da importare in Cloud SQL.
Non esportare il database di sistema
mysql.Crea un bucket Cloud Storage se necessario, e carica il file di dump SQL nel bucket.
Importa i dati nell'istanza di destinazione, seguendo le istruzioni riportate in Importare database MySQL da Cloud Storage.
(Facoltativo) Al termine del processo di upgrade, configura la replica tra le istanze di origine e di destinazione utilizzando un server esterno per aggiornare la destinazione con tutte le modifiche apportate dall'avvio del dump iniziale. Una volta sincronizzate le due istanze, puoi promuovere l'istanza di destinazione.
Per informazioni sull'utilizzo di un server esterno per implementare la replica continua, consulta Replica da un server esterno.
Aggiorna le applicazioni per connetterti alla nuova istanza.
Quando hai la certezza che la nuova istanza funzioni correttamente, elimina la vecchia istanza.
Passaggi successivi
- Scopri di più sulle modifiche che interessano gli upgrade a MySQL 9.7.
- Scopri di più sulle modifiche che interessano gli upgrade a MySQL 8.4.
- Scopri di più sulle modifiche che interessano gli upgrade a MySQL 8.0.
- Scopri di più sulle modifiche che interessano gli upgrade a MySQL 5.7.
- Scopri di più su Database Migration Service.
- Scopri di più sull'importazione e sull'esportazione dei dati.
- Scopri di più sulle opzioni per la connessione a un'istanza.
- Scopri di più sull'impostazione dei flag di MySQL.