Esercitazione: Eseguire la migrazione online da MySQL al server flessibile di Database di Azure per MySQL usando lo scenario di replica delle modifiche del Servizio Migrazione del database

È possibile eseguire la migrazione del server MySQL locale o di altri servizi cloud a Database di Azure per MySQL - Server flessibile usando Azure Servizio Migrazione del database (DMS), un servizio completamente gestito progettato per consentire migrazioni senza problemi da più origini di database a piattaforme dati Azure. Azure DMS supporta la migrazione verso destinazioni del server flessibile di Database di Azure per MySQL versioni 5.7, 8.0 e 8.4.

In questa esercitazione si esegue una migrazione online di un database di esempio da un server MySQL locale a un server flessibile di Database di Azure per MySQL (entrambi in esecuzione con la versione 5.7) mediante un'attività di migrazione Replica modifiche di DMS.

L'esecuzione di una migrazione usando la replica delle modifiche in uno scenario offline con "Abilita coerenza transazionale" consente alle aziende di eseguire la migrazione dei database in Azure mentre i database sono ancora operativi. In parole povere, è possibile completare le migrazioni con tempi di inattività minimi per le applicazioni critiche, limitando l'impatto sulla disponibilità a livello di servizio e gli inconvenienti per i clienti finali.

In questa esercitazione si apprenderà come:

  • Creare un progetto di migrazione MySQL con replica delle modifiche nel Servizio Migrazione del database.
  • Eseguire la migrazione con replica delle modifiche.
  • Monitorare la migrazione.
  • Eseguire i passaggi successivi alla migrazione.

Note

Prima di iniziare, vedere Problemi noti relativi alle migrazioni a Database di Azure per MySQL per prevedere e preparare i potenziali problemi durante la migrazione.

Prerequisiti

Per completare questa esercitazione, è necessario:

  • Usare lo strumento da riga di comando MySQL preferito per determinare se log_bin è abilitato sul server di origine. Binlog non è sempre attivato per impostazione predefinita, quindi verificare che sia abilitato, prima di avviare la migrazione. Per determinare se log_bin sia abilitato sul server di origine, eseguire il comando: SHOW VARIABLES LIKE 'log_bin'.

  • Assicurarsi che l'utente disponga dell'autorizzazione REPLICATION_APPLIER o BINLOG_ADMIN per il server di destinazione per l'applicazione del log bin.

  • Verificare che l'utente disponga REPLICATION REPLICA dell'autorizzazione per il server di destinazione.

  • Assicurarsi che l'utente disponga delle autorizzazioni REPLICATION CLIENT e REPLICATION REPLICA sul server di origine per la lettura e l'applicazione del log bin.

  • Eseguire uno scenario di migrazione offline con "Abilita coerenza transazionale" per ottenere il file di binlog e la posizione del bin.

    Screenshot della posizione del binlog di una migrazione offline del Servizio Migrazione del database di Azure.

  • Se si usa una migrazione online, configurare il parametro binlog_expire_logs_seconds nel server di origine per assicurarsi che i file binlog non vengano eliminati prima che la replica esegua il commit delle modifiche. Per iniziare, è consigliabile prevedere almeno due giorni. Al termine del cutover, è possibile ripristinare il valore.

Limitazioni

Durante la preparazione per la migrazione, assicurarsi di tenere conto delle limitazioni seguenti.

  • Quando si esegue una migrazione con replica delle modifiche, il nome del database nel server di destinazione deve corrispondere al nome nel server di origine.

  • Il supporto è limitato al formato ROW binlog.

  • La replica delle modifiche DDL è supportata solo quando è stata selezionata l'opzione Replica le istruzioni della definizione e dell'amministrazione dei dati per gli oggetti selezionati nell'interfaccia utente del Servizio Migrazione del database. La funzionalità di replica supporta la replica delle istruzioni della definizione e dell'amministrazione dei dati che si verificano dopo il caricamento iniziale e vengono registrate nel log binario nella destinazione.

  • La ridenominazione di database o tabelle non è supportata durante la replica delle modifiche.

Creare un progetto di migrazione con replica delle modifiche

Per creare un progetto di migrazione con replica delle modifiche, seguire questa procedura.

  1. Nel portale di Azure selezionare Tutti i servizi, eseguire la ricerca di Servizio Migrazione del database di Azure e quindi selezionare Servizio Migrazione del database di Azure.

    Screenshot di un comando Individuare tutte le istanze di Servizio Migrazione del database di Azure.

  2. Nei risultati della ricerca, selezionare l'istanza del Servizio Migrazione del database creata per eseguire la migrazione preliminare offline e quindi selezionare + Nuovo progetto di migrazione.

    Screenshot di un comando Seleziona nuovo progetto di migrazione.

  3. Nella pagina Nuovo progetto di migrazione specificare un nome per il progetto, nella casella di selezione Tipo di server di origine selezionare MySQL, nella casella di selezione Tipo di server di destinazione selezionare Database di Azure per MySQL - Server flessibile, nella casella di selezione Tipo di attività di migrazione selezionare Replica modifiche e quindi selezionare Crea ed esegui attività.

Configurare il progetto di migrazione

Per configurare il progetto di migrazione del Servizio Migrazione del database, seguire questa procedura.

  1. Nella schermata Seleziona origine immettere il nome del server di origine, la porta del server, il nome utente e la password per il server di origine.

    Screenshot di una schermata Aggiungi dettagli origine.

  2. Selezionare Avanti: selezionare destinazione >>e quindi, nella schermata Seleziona destinazione individuare il server di destinazione in base alla sottoscrizione, alla posizione e al gruppo di risorse. Il nome utente viene popolato automaticamente, quindi specificare la password per il server flessibile di destinazione.

    Screenshot di un comando Seleziona destinazione.

  3. Selezionare Avanti: selezionare binlog >>e quindi nella schermata Seleziona binlog immettere il nome del file binlog e la posizione binlog come acquisito nell'esecuzione precedente dello scenario di migrazione offline.

    Screenshot dell'opzione Seleziona binlog.

  4. Selezionare Avanti: selezionare i database >>e quindi, nella scheda Seleziona database selezionare gli oggetti di database del server di cui si vuole eseguire la migrazione.

    Screenshot di un comando Seleziona database.

  5. Selezionare Avanti: selezionare le tabelle >> per passare alla scheda Seleziona tabelle. Selezionare tutte le tabelle di cui eseguire la migrazione.

    Screenshot dell'opzione Seleziona tabelle.

  6. Dopo aver configurato la migrazione dello schema, selezionare Rivedi e avvia la migrazione.

    È sufficiente passare alla scheda Configura le impostazioni di migrazione se si sta tentando di risolvere problemi relativi alle migrazioni non riuscite.

  7. Nella scheda Riepilogo, nella casella di testo Nome attività, specificare un nome per l'attività di migrazione, quindi rivedere il riepilogo per verificare che i dettagli dell'origine e della destinazione corrispondano a quanto specificato in precedenza.

    Screenshot della scheda Riepilogo.

  8. Selezionare Avvia migrazione.

    Verrà visualizzata la finestra dell'attività di migrazione con il campo Stato dell'attività impostato su Inizializzazione in corso. Lo stato passa a "In esecuzione" all'avvio delle migrazioni della tabella.

    Screenshot di uno stato

Monitorare la migrazione

  1. Monitorare i Secondi dietro l'origine e non appena il valore si avvicina a 0, procedere con il cutover passando alla scheda del menu Avvia cutover nella parte superiore della schermata dell'attività di migrazione.

    Screenshot di un comando Esegui cutover.

  2. Seguire i passaggi nella finestra di cutover prima di eseguire un cutover. Dopo aver completato tutti i passaggi, selezionare Conferma e quindi selezionare Applica.

    Screenshot della conferma dell'esecuzione del cutover.

Al termine del cutover, tutto è impostato per eseguire le convalide e i passaggi post-migrazione.

Screenshot dell'esecuzione del cutover completata.

Eseguire attività post-migrazione

Al termine della migrazione, assicurarsi di completare le attività successive alla migrazione seguenti.

  • Eseguire test di integrità dell'applicazione nel database di destinazione per certificare la migrazione.

  • Aggiornare la stringa di connessione in modo che punti al nuovo server flessibile.

  • Eliminare il server di origine dopo aver garantito la continuità dell'applicazione.

  • Per pulire le risorse del Servizio Migrazione del database, seguire questa procedura:

    1. Nel portale di Azure selezionare Tutti i servizi, eseguire la ricerca di Servizio Migrazione del database di Azure e quindi selezionare Servizio Migrazione del database di Azure.
    2. Selezionare l'istanza del servizio di migrazione nei risultati della ricerca e quindi selezionare Elimina servizio.
    3. Nella casella di testo DIGITARE IL NOME DEL SERVIZIO MIGRAZIONE DEL DATABASE della finestra di dialogo di conferma specificare il nome dell'istanza e quindi selezionare Elimina.

Procedure consigliate per la migrazione

Quando si esegue una migrazione, assicurarsi di considerare le procedure consigliate seguenti.

  • Come parte del processo di individuazione e valutazione, è consigliabile considerare lo SKU del server, l’utilizzo della CPU, l’archiviazione, le dimensioni del database e l’utilizzo delle estensioni come dati critici per facilitare la migrazione.

  • Eseguire migrazioni di test prima della migrazione per la produzione:

    • Le migrazioni di test sono importanti per garantire la copertura di tutti gli aspetti della migrazione del database, inclusi i test applicativi. La procedura consigliata consiste nell'iniziare eseguendo una migrazione interamente a scopo di test. Dopo che una nuova migrazione è entrata nella fase di replica delle modifiche ai dati con un ritardo minimo, utilizzare il server flessibile di destinazione esclusivamente per l’esecuzione di carichi di lavoro di test. Usare tale destinazione per testare l'applicazione per garantire le prestazioni e i risultati previsti. Se si esegue la migrazione a una versione più recente di MySQL, testare la compatibilità delle applicazioni.
    • Al termine del test, è possibile eseguire la migrazione dei database di produzione. A questo punto, è necessario finalizzare il giorno e l'ora della migrazione di produzione. Idealmente, questo momento dovrebbe corrispondere a un periodo di bassa attività delle applicazioni. Tutti gli stakeholder che devono essere coinvolti nel processo devono essere disponibili e pronti. La migrazione di produzione richiede un monitoraggio attento. Per una migrazione online, è necessario completare la replica prima di eseguire il cutover per evitare la perdita di dati.
  • Reindirizzare tutte le applicazioni dipendenti perché accedano al nuovo database primario e rendere il server di origine di sola lettura. Aprire quindi le applicazioni per l'utilizzo di produzione.

  • Dopo l'avvio dell'esecuzione dell'applicazione nella destinazione del server flessibile, monitorare attentamente le prestazioni del database per verificare se è necessaria l'ottimizzazione delle prestazioni.