Limitazioni note

Prima di scegliere di eseguire la migrazione dei database a Cloud SQL, considera le limitazioni note per questo scenario di migrazione.

Le limitazioni note per l'utilizzo di un database MySQL come origine includono:

  • Per eseguire la migrazione dei database criptati, devi fornire le chiavi di crittografia a Database Migration Service. Database Migration Service supporta la migrazione dei dati da database Amazon Aurora o Amazon RDS criptati perché questi database gestiscono la decriptazione in modo trasparente nei loro servizi. Per saperne di più, consulta Cripta le risorse Amazon Aurora, Cripta le risorse Amazon RDS e Configura le chiavi di crittografia gestite dal cliente (CMEK).

  • La migrazione a MySQL 5.6, MySQL 8.4 o MySQL 9.7 con un file di backup fisico Percona XtraBackup non è supportata.

  • Per le migrazioni da MySQL 8.0 a MySQL 8.4 e da MySQL 8.4 a MySQL 9.7:

    • Il flag local_infile del database di destinazione deve essere impostato su ON.
    • L'account di migrazione dedicato nell'istanza di origine non può avere il privilegio BACKUP_ADMIN.

    Queste considerazioni sono trattate anche nelle sezioni pertinenti, ad esempio nella pagina Configura il database di origine.

  • Quando esegui la migrazione tra versioni principali di MySQL (ad esempio, da MySQL 8.0 a MySQL 8.4), devi risolvere eventuali 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 e le note di rilascio della versione principale di destinazione per determinare quali incompatibilità devi risolvere.

  • Durante la fase di dump completo dei dati, non puoi eseguire operazioni DDL (Data Definition Language) (come ALTER TABLE, DROP TABLE, TRUNCATE TABLE) sul database di origine. L'esecuzione di queste operazioni durante la fase di dump completo potrebbe causare un deadlock dei metadati, con conseguente errore del processo di migrazione (con l'errore Table definition has changed) o interruzione della risposta (e segnalazione di errori di timeout come ERROR: While 'Loading data': Dump timeout o MySQL Error 2013 (HY000): Lost connection to MySQL server during query). Puoi apportare modifiche DDL al database di origine durante la fase CDC. Per saperne di più, consulta le seguenti voci nella sezione relativa alla risoluzione dei problemi:

  • Se l'origine è Amazon RDS MySQL, Amazon Aurora MySQL o un'origine che non concede i privilegi SUPERUSER, sono necessari altri passaggi per una migrazione riuscita, incluso un breve tempo di inattività della scrittura sull'origine. Per saperne di più, consulta le sezioni Configura il database di origine per Amazon RDS e Specifico per Amazon Aurora.

  • Database Migration Service non può eseguire la migrazione dei dati da un'istanza di replica di lettura di Amazon Aurora o da un'istanza di replica di lettura di Oracle Cloud Infrastructure (OCI) MySQL perché non è possibile recuperare i file di log binari dall'istanza. Per ulteriori informazioni su Amazon Aurora, consulta la sezione specifica di Amazon Aurora.

  • La migrazione da una replica di lettura MySQL autogestita non supporta GTID. Devi utilizzare la replica basata su file di log binario e posizione. Per saperne di più, consulta Tipi e fasi di migrazione.

  • La migrazione del database di sistema MySQL non viene eseguita nell'ambito della migrazione del server, pertanto le informazioni sugli account utente, sugli accessi e sui ruoli non sono incluse.

  • Sebbene sia possibile selezionare database specifici di cui eseguire la migrazione, non puoi filtrare o selezionare singoli oggetti di database all'interno di un database (come tabelle, viste o stored procedure specifiche) quando esegui la migrazione utilizzando Database Migration Service. Vengono migrate tutte le tabelle e gli oggetti InnoDB di ogni database selezionato, ad eccezione dei seguenti schemi di sistema: mysql, performance_schema, information_schema e sys. 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 e generare il messaggio ERROR 1109 (42S02): Unknown table in <schema name here>. Consulta Configura il database di origine e Diagnostica i problemi.

  • Durante la migrazione, il database Cloud SQL di destinazione è in modalità di sola lettura per impedire modifiche al database che potrebbero interrompere il processo di migrazione o l'integrità dei dati. Dopo la promozione, la destinazione diventa scrivibile.

  • 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 esempio STATEMENT o MIXED, potrebbe causare l'errore della replica. Ad esempio, utilizzando l'istruzione LOAD DATA IN FILE.

    Scopri di più su questa limitazione per i formati STATEMENT o MIXED.

  • Se crei un job di migrazione continua utilizzando il tuo file di dump, non utilizzare l'utilità mysqldump della 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 sulla 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 a istanze di destinazione esistenti. Se vuoi utilizzare la connettività IP privato 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 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 è disponibile solo durante la migrazione alle versioni MySQL 5.7, 8.0, 8.4 o 9.7.

  • 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 Ora di blocco approssimativa
    100 1 secondo
    10.000 9 secondi
    50.000 49 secondi

Limitazioni per le migrazioni a 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 a istanze di destinazione esistenti che contengono dati utente (ad esempio tabelle in schemi di sistema o database) non è supportata.

    Se riscontri problemi dovuti a dati aggiuntivi nell'istanza di destinazione esistente, cancella i database nell'istanza di destinazione e riprova il job di migrazione. Consulta Cancella i dati aggiuntivi dall'istanza di destinazione esistente.

  • Puoi configurare un solo job di migrazione per istanza di destinazione.
  • Puoi eseguire la migrazione solo a istanze Cloud SQL autonome. La migrazione alle repliche di server esterni non è supportata.
  • La migrazione a un'istanza Cloud SQL con una replica di lettura richiede che l'istanza di origine abbia il logging dell'ID transazione globale (GTID) abilitato.
  • 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 far sì che le impostazioni dell'istanza di destinazione siano diverse dalla configurazione Terraform utilizzata per il provisioning. Se riscontri questo problema, segui le indicazioni riportate in Diagnostica i problemi.

Quote

  • In qualsiasi momento, possono esistere fino a 2000 profili di connessione e 1000 job di migrazione. Per creare spazio per altri, è possibile eliminare i job di migrazione (compresi quelli completati) e i profili di connessione.