Panoramica
Prima di scegliere di eseguire la migrazione dei database a Cloud SQL, assicurati di tenere in considerazione le limitazioni note per questo scenario di migrazione.
Le limitazioni note per l'utilizzo di un database MySQL come origine includono:
La migrazione a MySQL 5.6 o MySQL 8.4 con un file di backup fisico Percona XtraBackup non è supportata.
Per le migrazioni da MySQL 8.0 a MySQL 8.4: le considerazioni aggiuntive per le migrazioni da 8.0 a 8.4 includono:
- Il database di destinazione deve avere il flag
local_infileimpostato suON. - L'account di migrazione dedicato sull'istanza di origine non può avere il
BACKUP_ADMINprivilegio.
Queste considerazioni sono trattate anche nelle sezioni pertinenti, ad esempio nella pagina Configurare il database di origine.
- Il database di destinazione deve avere il flag
Quando esegui la migrazione tra le versioni principali di MySQL (ad esempio, da MySQL 8.0 a MySQL 8.4), devi risolvere le possibili incompatibilità per garantire una migrazione senza problemi di coerenza dei dati.
Quando ti prepari per una migrazione tra versioni, esamina le funzionalità supportate da Cloud SQL per MySQL nonché le note di rilascio della versione principale di destinazione per determinare le incompatibilità che devi risolvere.
Non apportare modifiche al linguaggio di definizione dei dati (DDL), ad esempio la modifica delle definizioni delle tabelle, durante la fase di dump completo dei dati. Le modifiche DDL eseguite prima che il job di migrazione passi alla fase CDC possono causare il fallimento del job di migrazione. Per saperne di più, consulta Risolvere i problemi: errore
Table definition has changed.Se l'origine è Amazon RDS MySQL, Amazon Aurora MySQL o un'origine che non concede i privilegi SUPERUSER, sono necessari passaggi aggiuntivi per una migrazione riuscita, incluso un breve periodo di inattività di scrittura sull'origine. Per saperne di più, consulta le sezioni specifiche di Amazon RDS e specifiche di Amazon Aurora.
Database Migration Service non può eseguire la migrazione dei dati da un'istanza di replica di lettura Amazon Aurora di un cluster di database MySQL perché i file di log binari non possono essere recuperati dall'istanza. Per saperne di più, consulta la sezione specifica di Amazon Aurora .
Il database di sistema MySQL non viene sottoposto a migrazione nell'ambito della migrazione del server, il che significa che le informazioni sui ruoli utente non sono incluse.
Puoi selezionare database specifici quando esegui la migrazione utilizzando Database Migration Service. Vengono sottoposte a migrazione tutte le tabelle e gli schemi dei database selezionati, ad esclusione dei seguenti schemi di sistema:
mysql,performance_schema,information_schemaesys. Prima di iniziare la migrazione, assicurati che il database di origine non contenga oggetti che fanno riferimento a tabelle in questi schemi. In caso contrario, la migrazione potrebbe non riuscire con ilERROR 1109 (42S02): Unknown table in <schema name here>messaggio. Consulta Configurare il database di origine e Risolvere i problemi.Se i database criptati richiedono chiavi di crittografia gestite dal cliente per decriptare le informazioni nei database e se Database Migration Service non ha accesso alle chiavi, i database non possono essere sottoposti a migrazione.
Database Migration Service supporta la migrazione dei dati da database Amazon Aurora o Amazon RDS criptati perché questi database gestiscono la decriptografia in modo trasparente nei loro servizi. Per saperne di più, consulta Criptare le risorse Amazon Aurora e Criptare le risorse Amazon RDS.
Durante la migrazione, il database Cloud SQL di destinazione è in modalità di sola lettura per impedire la modifica del database che potrebbe interrompere la procedura di migrazione o l'integrità dei dati. Dopo la promozione della destinazione, questa diventa scrivibile.
Al momento, Database Migration Service non è compatibile con MariaDB.
Devi impostare il formato del log binario su
ROW. La configurazione del log binario in qualsiasi altro formato, ad esempioSTATEMENToMIXED, potrebbe causare il fallimento della replica. Ad esempio, utilizzando l'istruzioneLOAD DATA IN FILE.Scopri di più su questa limitazione per i formati
STATEMENToMIXED.Se crei un job di migrazione continua utilizzando il tuo file di dump, non utilizzare l'utilità
mysqldumpdella versione 5.7.36 di MySQL. Per saperne di più, consulta il bug n. 105761 nella documentazione di MySQL.InnoDB è l'unico motore di archiviazione supportato per Cloud SQL. La migrazione con MyISAM potrebbe causare incoerenza dei dati e richiede la convalida dei dati. Per assistenza nella conversione delle tabelle da MyISAM a InnoDB, consulta la documentazione di MySQL.
Il metodo di connettività delle interfacce Private Service Connect è supportato solo per la migrazione alle istanze di destinazione esistenti. Se vuoi utilizzare la connettività IP privata ed eseguire la migrazione a una nuova istanza di destinazione, utilizza il peering VPC.
Considerazioni sul parallelismo del dump dei dati
Il parallelismo del dump dei dati ti consente di eseguire la migrazione dai database MySQL utilizzando un meccanismo di dump ad alte prestazioni, migliorando notevolmente la velocità di migrazione. Quando utilizzi il parallelismo del dump dei dati, tieni presente quanto segue:
Il parallelismo del dump dei dati è attualmente disponibile solo quando esegui la migrazione alle versioni 5.7 o 8 di MySQL.
All'inizio del dump dei dati, Database Migration Service blocca brevemente il database di origine, rendendolo temporaneamente non disponibile per le scritture. La durata del blocco dipende dal numero di tabelle nel database di origine:
Numero di tabelle Tempo di blocco approssimativo 100 1 secondo 10.000 9 secondi 50.000 49 secondi
Limitazioni per le migrazioni alle istanze di destinazione esistenti
- L'istanza di destinazione esistente può contenere solo i database di sistema predefiniti
configurati automaticamente quando crei l'istanza di destinazione.
La migrazione alle istanze di destinazione esistenti
che contengono dati utente (ad esempio tabelle in schemi di sistema o database)
non è supportata.
Se riscontri problemi a causa di dati aggiuntivi nell'istanza di destinazione esistente, cancella i database nell'istanza di destinazione e riprova a eseguire il job di migrazione. Consulta Cancellare i dati aggiuntivi dall'istanza di destinazione esistente.
- Puoi configurare un solo job di migrazione per istanza di destinazione.
- Puoi eseguire la migrazione solo alle istanze Cloud SQL autonome. La migrazione alle repliche del server esterno non è supportata.
- La migrazione a un'istanza Cloud SQL con una replica di lettura richiede che l'istanza di origine abbia abilitato la registrazione dell'ID transazione globale (GTID) .
- Non puoi utilizzare le repliche di lettura di Cloud SQL per MySQL come istanza di destinazione della migrazione.
- Per gli utenti di Terraform: Database Migration Service modifica le impostazioni di backup e ripristino dell'istanza di destinazione. Ciò potrebbe comportare impostazioni dell'istanza di destinazione diverse dalla configurazione di Terraform utilizzata per il provisioning. Se riscontri questo problema, segui le indicazioni riportate in Risolvere i problemi.
Quote
- In qualsiasi momento, possono esistere fino a 2000 profili di connessione e 1000 job di migrazione. Per creare spazio, è possibile eliminare i job di migrazione (compresi quelli completati) e i profili di connessione.