Esercitazione: Eseguire la migrazione offline di Database di Azure per MySQL - Server singolo a server flessibile tramite Servizio Migrazione del database tramite il portale di Azure

È possibile eseguire la migrazione di un'istanza di Database di Azure per MySQL - Server singolo a Database di Azure per MySQL - Server flessibile usando il Servizio Migrazione del database di Azure (DMS), un servizio completamente gestito progettato per consentire migrazioni fluide da più origini di database alle piattaforme dati di Azure. In questa esercitazione verrà eseguita una migrazione offline di un database di esempio da un server singolo Database di Azure per MySQL a un server flessibile MySQL (che esegue entrambe la versione 5.7) usando un'attività di migrazione del Servizio Migrazione del database.

Nota

Servizio Migrazione del database supporta la migrazione da server MySQL versione precedente (v5.6 e versioni successive) a versioni successive. Inoltre, il Servizio Migrazione del database supporta migrazioni tra aree, gruppi di risorse e sottoscrizioni, in modo che sia possibile selezionare un'area, un gruppo di risorse e una sottoscrizione per il server di destinazione diverso da quello specificato per il server di origine.

Importante

Per le migrazioni online, è possibile usare la funzionalità Abilita coerenza transazionale supportata dal Servizio Migrazione del database insieme alla replica dei dati in ingresso o replicare le modifiche. Inoltre, è possibile usare lo scenario di migrazione online per eseguire la migrazione seguendo l'esercitazione qui.

Questa esercitazione illustra come:

  • Implementare le procedure consigliate per la creazione di un server flessibile per carichi di dati più veloci tramite Servizio Migrazione del database.
  • Creare e configurare un server flessibile di destinazione.
  • Creare un'istanza del Servizio Migrazione del database.
  • Creare un progetto di migrazione MySQL nel Servizio Migrazione del database.
  • Eseguire la migrazione di uno schema MySQL tramite Servizio Migrazione del database.
  • Eseguire la migrazione.
  • Monitorare la migrazione.
  • Eseguire i passaggi successivi alla migrazione.
  • Implementare le procedure consigliate per eseguire una migrazione.

Prerequisiti

Per completare questa esercitazione, è necessario:

Limiti

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

  • Quando si esegue la migrazione di oggetti non di tabella, il Servizio Migrazione del database non supporta la ridenominazione dei database.
  • Quando si esegue la migrazione a un server di destinazione con bin_log abilitato, assicurarsi di abilitare log_bin_trust_function_creators per consentire la creazione di routine e trigger.
  • Quando si esegue la migrazione dello schema, il Servizio Migrazione del database non supporta la creazione di un database nel server di destinazione.
  • Attualmente, il Servizio Migrazione del database non supporta la migrazione della clausola DEFINER per gli oggetti. Tutti i tipi di oggetto con clausole definer nell'origine vengono rimossi e dopo la migrazione, la clausola definer predefinita per le tabelle verrà impostata sull'account di accesso usato per eseguire la migrazione.
  • Attualmente, il Servizio Migrazione del database supporta solo la migrazione di uno schema come parte dello spostamento dei dati. Se non viene selezionato nulla per lo spostamento dei dati, la migrazione dello schema non avrà luogo. Si noti che se si seleziona una tabella per la migrazione dello schema questa viene selezionata anche per lo spostamento dei dati.

Procedure consigliate per la creazione di un server flessibile per caricamenti di dati più veloci tramite il Servizio Migrazione del database

Il Servizio Migrazione del database supporta migrazioni tra aree, tra gruppi di risorse e tra sottoscrizioni, quindi è possibile selezionare l'area, il gruppo di risorse e la sottoscrizione appropriati per il server flessibile di destinazione. Prima di creare il server flessibile di destinazione, prendere in considerazione le indicazioni di configurazione seguenti per garantire un caricamento più rapido dei dati usando il Servizio Migrazione del database.

  • Selezionare le dimensioni di calcolo e il livello di calcolo per il server flessibile di destinazione in base al piano tariffario del server singolo di origine e ai vCore in base ai dettagli della tabella seguente.

    Piano tariffario Server singolo vCore Server singolo Dimensioni di calcolo Server flessibile Livello di calcolo Server flessibile
    Basic* 1 Utilizzo generico Standard_D16ds_v4
    Basic* 2 Utilizzo generico Standard_D16ds_v4
    Utilizzo generico* 4 Utilizzo generico Standard_D16ds_v4
    Utilizzo generico* 8 Utilizzo generico Standard_D16ds_v4
    Utilizzo generico 16 Utilizzo generico Standard_D16ds_v4
    Utilizzo generico 32 Utilizzo generico Standard_D32ds_v4
    Utilizzo generico 64 Utilizzo generico Standard_D64ds_v4
    Con ottimizzazione per la memoria 4 Business Critical Standard_E4ds_v4
    Con ottimizzazione per la memoria 8 Business Critical Standard_E8ds_v4
    Con ottimizzazione per la memoria 16 Business Critical Standard_E16ds_v4
    Con ottimizzazione per la memoria 32 Business Critical Standard_E32ds_v4

* Per la migrazione, selezionare Calcolo VCore per utilizzo generico 16 per il server flessibile di destinazione per migrazioni più veloci. Tornare alle dimensioni di calcolo desiderate per il server di destinazione dopo il completamento della migrazione seguendo la raccomandazione sulle dimensioni di calcolo nella sezione Esecuzione di attività post-migrazione più avanti in questo articolo.

  • La versione di MySQL per il server flessibile di destinazione deve essere maggiore o uguale a quella del server singolo di origine.
  • A meno che non sia necessario implementare il server flessibile di destinazione in una zona specifica, impostare il valore del parametro Zona di disponibilità su "Nessuna preferenza".
  • Per la connettività di rete, nella scheda Rete, se per il server singolo di origine sono configurati endpoint privati o collegamenti privati, selezionare Accesso privato; in caso contrario, selezionare Accesso pubblico.
  • Copiare tutte le regole del firewall dal server singolo di origine al server flessibile di destinazione.
  • Copiare tutti i tag nome/valore dal server singolo al server flessibile durante la procedura di creazione stessa.

Creare e configurare il server flessibile di destinazione

Tenendo presenti queste procedure consigliate, creare il server flessibile di destinazione e quindi configurarlo.

  • Creare il server flessibile di destinazione. Per i passaggi guidati, vedere l'argomento di avvio rapido Creare un server flessibile Database di Azure per MySQL.
  • Accanto a configurare il server flessibile di destinazione appena creato, procedere come segue:
    • L'utente che esegue la migrazione richiede le autorizzazioni seguenti:
      • Per creare tabelle nella destinazione, l'utente deve avere il privilegio "CREATE".
      • Se si esegue la migrazione a una tabella con un'opzione "UNION", l'utente deve disporre dei privilegi "edizione Standard LECT", "UPDATE" e "DELETE" per le tabelle mappate a una tabella MERGE.
      • Se si esegue la migrazione delle viste, è necessario disporre del privilegio "CREATE VIEW". Tenere presente che alcuni privilegi potrebbero essere necessari a seconda del contenuto delle visualizzazioni. Per informazioni dettagliate, vedere la documentazione di MySQL specifica della versione per "CREATE VIEW STATEMENT"
      • Se si esegue la migrazione di eventi, l'utente deve avere il privilegio "EVENT".
      • Se si esegue la migrazione dei trigger, l'utente deve avere il privilegio "TRIGGER".
      • Se si esegue la migrazione di routine, l'utente deve avere il privilegio "CREATE ROUTINE".
    • Creare un database di destinazione, anche se non è necessario popolarlo con tabelle/viste e così via.
      • Impostare il carattere appropriato, le regole di confronto e qualsiasi altra impostazione dello schema applicabile prima di avviare la migrazione, in quanto ciò può influire sul set DEFAULT in alcune delle definizioni degli oggetti.
      • Inoltre, se si esegue la migrazione di oggetti non di tabella, assicurarsi di usare lo stesso nome per lo schema di destinazione usato nell'origine.
    • Configurare i parametri del server nel server flessibile di destinazione come indicato di seguito:
      • Impostare la versione tls e require_secure_transport parametro del server in modo che corrispondano ai valori nel server di origine.
      • Impostare il parametro del server sql_mode in modo che corrisponda ai valori nel server di origine.
      • Configurare i parametri del server nel server di destinazione in modo che corrispondano ai valori non predefiniti usati nel server di origine.
      • Per garantire carichi di dati più veloci quando si usa Servizio Migrazione del database, configurare i parametri del server seguenti come descritto.
        • max_allowed_packet: impostare su 1073741824 (ad esempio 1 GB) per evitare problemi di connessione dovuti a righe di grandi dimensioni.
        • slow_query_log: impostare su OFF per disattivare il log di query lento. In questo modo si eliminerà l'overhead causato dalla registrazione lenta di query durante i caricamenti dei dati.
        • innodb_buffer_pool_size: può essere aumentato solo aumentando le risorse di calcolo per Database di Azure per MySQL server. Aumentare il numero di SKU per utilizzo generico del server a 64 vCore dal piano tariffario del portale durante la migrazione per aumentare il innodb_buffer_pool_size.
        • innodb_io_capacity & innodb_io_capacity_max - Passare a 9000 dai parametri server in portale di Azure per migliorare l'utilizzo di I/O per ottimizzare la velocità di migrazione.
        • innodb_write_io_threads: passare a 4 dai parametri del server in portale di Azure per migliorare la velocità della migrazione.
    • Configurare le repliche nel server di destinazione in modo che corrispondano a quelle nel server di origine.
    • Replicare le funzionalità di gestione server seguenti dal server singolo di origine al server flessibile di destinazione:
      • Assegnazioni di ruolo, ruoli, assegnazioni di rifiuto, amministratori classici, Controllo di accesso (IAM)
      • Blocchi (sola lettura ed eliminazione)
      • Avvisi
      • Attività
      • avvisi Integrità risorse

Configurare Il Servizio Migrazione del database

Dopo aver distribuito e configurato il server flessibile di destinazione, è necessario configurare servizio Migrazione del database per eseguire la migrazione del server singolo a un server flessibile.

Registrare il provider di risorse

Per registrare il provider di risorse Microsoft.DataMigration, seguire questa procedura.

  1. Prima di creare la prima istanza del Servizio Migrazione del database, accedere al portale di Azure e quindi cercare e selezionare Sottoscrizioni. Screenshot di Azure Marketplace.

  2. Selezionare la sottoscrizione da usare per creare l'istanza del Servizio Migrazione del database e quindi selezionare Provider di risorse. Screenshot di un provider di risorse Select.

  3. Cercare il termine "Migrazione" e quindi selezionare Registra per Microsoft.DataMigration. Screenshot di una selezione registrazione.

Creare un'istanza di Servizio Migrazione del database (DMS)

  1. Nella portale di Azure selezionare + Crea una risorsa, cercare il termine "Servizio Migrazione del database di Azure" e quindi selezionare Servizio Migrazione del database di Azure dall'elenco a discesa. Screenshot di un Servizio Migrazione del database di Azure di ricerca.

  2. Nella schermata Servizio Migrazione del database di Azure selezionare Crea. Screenshot di un'istanza di Create Servizio Migrazione del database di Azure.

  3. Nella pagina Selezione scenario di migrazione e Servizio Migrazione del database, in Scenario di migrazione selezionare Database di Azure per MySQL-Server singolo come tipo di server di origine e quindi selezionare Database di Azure per MySQL come tipo di server di destinazione e quindi selezionare Seleziona. Screenshot di uno scenario di selezione della migrazione.

  4. Nella scheda Informazioni di basedella pagina Crea servizio migrazione selezionare la sottoscrizione appropriata in Dettagli progetto e quindi selezionare un gruppo di risorse esistente o crearne uno nuovo.

  5. In Dettagli istanza specificare un nome per il servizio, selezionare un'area e quindi verificare che Azure sia selezionato come modalità servizio.

  6. A destra del piano tariffario selezionare Configura livello. Screenshot di una selezione del livello configura.

  7. Nella pagina Configura selezionare il piano tariffario Premium con 4 vCore per l'istanza del Servizio Migrazione del database e quindi selezionare Applica. Il Servizio Migrazione del database Premium a 4 vCore è gratuito per 6 mesi (183 giorni) a partire dalla creazione di un'istanza del Servizio Migrazione del database prima che vengano applicati addebiti. Per altre informazioni sui costi e sui piani tariffari del Servizio Migrazione del database, vedere la pagina dei prezzi. Screenshot di un piano tariffario Seleziona.

    Successivamente, è necessario specificare la rete virtuale che fornirà all'istanza del Servizio Migrazione del database l'accesso al server singolo di origine e al server flessibile di destinazione.

  8. Nella pagina Crea servizio migrazione selezionare Avanti: Rete >>.

  9. Nella scheda Rete selezionare una rete virtuale esistente nell'elenco o specificare il nome della nuova rete virtuale da creare e quindi selezionare Rivedi e crea.

    Per altre informazioni, vedere l'articolo Creare una rete virtuale usando il portale di Azure. Screenshot di una selezione rete.

    Importante

    La rete virtuale deve essere configurata con l'accesso sia al server singolo di origine che al server flessibile di destinazione, quindi assicurarsi di:

    • Creare una regola del firewall a livello di server o configurare gli endpoint servizio di rete virtuale per i server di origine e di destinazione Database di Azure per MySQL per consentire alla rete virtuale di Servizio Migrazione del database di Azure l'accesso ai database di origine e di destinazione.
    • Assicurarsi che le regole del gruppo di sicurezza di rete virtuale (NSG) non blocchino la porta in uscita 443 di ServiceTag per ServiceBus, Archiviazione e Monitoraggio di Azure. Per altre informazioni sul filtro del traffico del gruppo di sicurezza di rete virtuale, vedere Filtrare il traffico di rete con i gruppi di sicurezza di rete.

    Nota

    Per aggiungere tag al servizio, selezionare prima Avanti : Tag per passare prima alla scheda Tag. L'aggiunta di tag al servizio è facoltativa.

  10. Passare alla scheda Rivedi e crea , esaminare le configurazioni, visualizzare i termini e quindi selezionare Crea. Screenshot di una selezione di rivedi e crea.

    La distribuzione dell'istanza del Servizio Migrazione del database inizia ora. Viene visualizzato il messaggio Distribuzione in corso per alcuni minuti e quindi il messaggio cambia in Distribuzione completata.

  11. Selezionare Vai alla risorsa. Screenshot di una selezione della risorsa Vai alla risorsa.

  12. Identificare l'indirizzo IP dell'istanza del Servizio Migrazione del database dalla pagina di panoramica delle risorse e creare una regola del firewall per il server singolo di origine e il server flessibile di destinazione che consenta l'elenco dell'indirizzo IP dell'istanza del Servizio Migrazione del database.

Creare un progetto di migrazione

Per creare un progetto di migrazione, 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 oggetto Individua tutte le istanze di Servizio Migrazione del database di Azure.

  2. Nei risultati della ricerca selezionare l'istanza del Servizio Migrazione del database creata e quindi selezionare + Nuovo progetto di migrazione.

    Screenshot di un progetto di migrazione CSelect.

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

    Nota

    Selezionando Crea progetto solo come tipo di attività di migrazione verrà creato solo il progetto di migrazione; è quindi possibile eseguire il progetto di migrazione in un secondo momento.

    Screenshot di un nuovo progetto di migrazione.

Configurare il progetto di migrazione

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

  1. Per procedere con la migrazione offline, prima di configurare Seleziona origine sullo schermo, aprire una nuova scheda della finestra e passare alla pagina di panoramica del server di origine in portale di Azure e passare al pannello Parametri del server. Configurare il valore di read_only parametro server per il server di origine come ON .

    L'impostazione del server di origine sulla modalità di sola lettura aggiornando il parametro del server prima di avviare la migrazione impedisce operazioni di scrittura/eliminazione nel server di origine durante la migrazione, garantendo l'integrità dei dati del database di destinazione durante la migrazione dell'origine.

    Nota

    In alternativa, se si esegue una migrazione online, selezionare la casella di controllo Abilita coerenza transazionale nella schermata Seleziona origine. Per altre informazioni sul backup coerente, vedere Backup coerente con MySQL.

  2. Tornare alla schermata di configurazione del progetto di migrazione e nella schermata Seleziona origine specificare i dettagli di connessione per l'istanza mySQL di origine. Screenshot di una schermata Aggiungi dettagli origine.

  3. Selezionare Avanti: selezionare destinazione>> e quindi nella schermata Seleziona destinazione specificare i dettagli di connessione per il server flessibile di destinazione. Screenshot di una destinazione Seleziona.

  4. Selezionare Avanti: selezionare i database>> e quindi, nella scheda Seleziona database, in [Anteprima] Selezionare gli oggetti server, selezionare gli oggetti server di cui si vuole eseguire la migrazione. Screenshot di un database Select.

  5. Nella sezione Selezione database, in Database di origine selezionare i database di cui eseguire la migrazione.

    Gli oggetti non tabella nei database specificati verranno migrati, mentre gli elementi non selezionati verranno ignorati.

  6. Selezionare Avanti: selezionare i database>> per passare alla scheda Seleziona tabelle .

    Prima che la scheda venga popolata, servizio Migrazione del database recupera le tabelle dai database selezionati nell'origine e nella destinazione e quindi determina se la tabella esiste e contiene dati.

  7. Selezionare le tabelle di cui si vuole eseguire la migrazione.

    Se si seleziona una tabella nel database di origine che non esiste nel database di destinazione, la casella in Esegui migrazione schema è selezionata per impostazione predefinita. Per le tabelle presenti nel database di destinazione, si noti che la tabella selezionata contiene già dati e verrà troncata. Inoltre, se lo schema di una tabella nel server di destinazione non corrisponde allo schema nell'origine, la tabella verrà eliminata prima che la migrazione continui. Screenshot di una selezione di tabelle.

    Servizio Migrazione del database convalida gli input e, se la convalida viene superata, sarà possibile avviare la migrazione.

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

    Nota

    È sufficiente passare alla scheda Configura impostazioni di migrazione solo se si sta tentando di risolvere gli errori di migrazione.

  9. Nella scheda Riepilogo , nella casella di testo Nome attività specificare un nome per l'attività di migrazione e quindi esaminare il riepilogo per assicurarsi che i dettagli di origine e destinazione corrispondano a quanto specificato in precedenza. Screenshot di un riepilogo di selezione.

  10. 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.

Monitorare la migrazione

  1. Nella schermata dell'attività di migrazione selezionare Aggiorna per aggiornare la visualizzazione e visualizzare lo stato di avanzamento e il numero di tabelle completate.

  2. Per visualizzare lo stato di ogni tabella durante la migrazione, selezionare il nome del database e quindi selezionare Aggiorna per aggiornare la visualizzazione.

  3. Selezionare Aggiorna per aggiornare la visualizzazione fino a quando lo stato della migrazione non viene visualizzato come Completato. Screenshot di uno stato della migrazione.

Eseguire attività post-migrazione

Al termine della migrazione, assicurarsi di completare le seguenti attività post-migrazione.

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

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

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

  • Se il server flessibile di destinazione è stato ridimensionato per una migrazione più rapida, ridimensionarlo selezionando le dimensioni di calcolo e il livello di calcolo per il server flessibile di destinazione in base al piano tariffario e ai VCore del server singolo di origine in base ai dettagli nella tabella seguente.

    Piano tariffario Server singolo vCore Server singolo Dimensioni di calcolo Server flessibile Livello di calcolo Server flessibile
    Di base 1 Con possibilità di burst Standard_B1s
    Di base 2 Con possibilità di burst Standard_B2s
    Utilizzo generico 4 Utilizzo generico Standard_D4ds_v4
    Utilizzo generico 8 Utilizzo generico Standard_D8ds_v4
  • Pulire le risorse del Servizio Migrazione dati:

    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 selezionare Elimina servizio.
    3. Nella casella di testo TYPE THE DATABA edizione Standard MIGRATION edizione Standard RVICE NAME della finestra di dialogo di conferma specificare il nome del servizio e quindi selezionare Elimina.

Procedure consigliate per la migrazione

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

  • Come parte dell'individuazione e della valutazione, prendere lo SKU del server, l'utilizzo della CPU, l'archiviazione, le dimensioni del database e l'utilizzo delle estensioni come alcuni dei dati critici per facilitare le migrazioni.
  • Pianificare la modalità di migrazione per ogni database. Per migrazioni più semplici e database più piccoli, prendere in considerazione la modalità offline.
  • Eseguire migrazioni di test prima della migrazione per la produzione:
    • Le migrazioni di test sono importanti per assicurarsi di coprire tutti gli aspetti della migrazione del database, inclusi i test delle applicazioni. 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, in questo momento è presente un uso ridotto dell'applicazione. Tutti gli stakeholder che devono essere coinvolti devono essere disponibili e pronti. La migrazione di produzione richiede un monitoraggio vicino.
  • Reindirizzare tutte le applicazioni dipendenti per accedere al nuovo database primario e aprire le applicazioni per l'utilizzo di produzione.
  • Dopo l'avvio dell'esecuzione dell'applicazione nella destinazione del server flessibile di destinazione, monitorare attentamente le prestazioni del database per verificare se è necessaria l'ottimizzazione delle prestazioni.

Passaggi successivi