Esercitazione: Eseguire la migrazione di MySQL a Database di Azure per MySQL offline tramite Servizio Migrazione del database

È possibile usare Servizio Migrazione del database di Azure per eseguire una migrazione senza problemi dall'istanza di MySQL esterna a Database di Azure per MySQL con funzionalità di migrazione dei dati ad alta velocità. In questa esercitazione verrà eseguita la migrazione di un database di esempio da un'istanza locale di MySQL 5.7 a Database di Azure per MySQL (v5.7) usando un'attività di migrazione offline in Servizio Migrazione del database di Azure. Anche se gli articoli presuppongono che l'origine sia un'istanza del database MySQL e che sia una destinazione da Database di Azure per MySQL, può essere usata per eseguire la migrazione da un Database di Azure per MySQL a un altro semplicemente modificando il nome e le credenziali del server di origine. Inoltre, è supportata anche la migrazione dai server MySQL versione inferiore (v5.6 e versioni successive) alle versioni successive.

Nota

Per una versione scriptabile basata su PowerShell di questa esperienza di migrazione, vedere Migrazione offline tramite script a Database di Azure per MySQL.

Nota

Amazon Relational Database Service (RDS) per MySQL e Amazon Aurora (basato su MySQL) sono supportati anche come origini per la migrazione.

In questa esercitazione apprenderai a:

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

Prerequisiti

Per completare questa esercitazione, è necessario:

  • Avere a disposizione un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.

  • Avere un database MySQL locale con la versione 5.7. In caso contrario, scaricare e installare MySQL Community Edition 5.7.

  • Creare una rete virtuale di Microsoft Azure per il Servizio Migrazione del database di Azure usando il modello di distribuzione Azure Resource Manager, che offre la connettività da sito a sito per i server di origine locali con ExpressRoute o VPN. Per altre informazioni sulla creazione di una rete virtuale, vedere la documentazione sulla rete virtuale e in particolare gli articoli di avvio rapido con istruzioni dettagliate.

    Nota

    Durante la configurazione della rete virtuale, se si usa ExpressRoute con il peering di rete a Microsoft, aggiungere gli endpoint servizio seguenti alla subnet in cui verrà effettuato il provisioning del servizio:

    • Endpoint del database di destinazione (ad esempio endpoint SQL, endpoint di Azure Cosmos DB e così via)
    • Endpoint di archiviazione
    • Endpoint bus di servizio

    Questa configurazione è necessaria perché il Servizio Migrazione del database di Azure non ha connettività Internet.

  • Assicurarsi che le regole del gruppo di sicurezza di rete della rete virtuale non blocchino la porta in uscita 443 di ServiceTag per ServiceBus, Archiviazione e AzureMonitor. Per informazioni dettagliate sul filtro del traffico dei gruppi di sicurezza di rete della rete virtuale di Azure, vedere l'articolo Filtrare il traffico di rete con gruppi di sicurezza di rete.

  • Aprire Windows Firewall per consentire le connessioni da Rete virtuale per Servizio Migrazione del database di Azure di accedere al server MySQL di origine, che per impostazione predefinita è la porta TCP 3306.

  • Quando si usa un'appliance firewall davanti ai database di origine, potrebbe essere necessario aggiungere regole del firewall per consentire alle connessioni da Rete virtuale per Servizio Migrazione del database di Azure di accedere ai database di origine per la migrazione.

  • Creare una regola del firewall a livello di server o configurare gli endpoint servizio di rete virtuale per le Database di Azure per MySQL di destinazione per consentire Rete virtuale per Servizio Migrazione del database di Azure l'accesso ai database di destinazione.

  • L'origine MySQL deve essere in un'Edizione MySQL Community supportata. Per determinare la versione dell'istanza di MySQL, eseguire il comando seguente nell'utilità MySQL o in MySQL Workbench:

    SELECT @@version;
    
  • Database di Azure per MySQL supporta solo le tabelle InnoDB. Per convertire le tabelle MyISAM in InnoDB, vedere l'articolo Converting Tables from MyISAM to InnoDB (Conversione di tabelle da MyISAM a InnoDB).

  • L'utente deve disporre dei privilegi per leggere i dati nel database di origine.

  • Per completare correttamente una migrazione dello schema, nel server di origine l'utente che esegue la migrazione richiede i privilegi seguenti:

Ridimensionamento dell'istanza di Database di Azure per MySQL di destinazione

Per preparare il server di Database di Azure per MySQL di destinazione per carichi di dati più veloci usando il Servizio Migrazione del database di Azure, sono consigliati i parametri del server e le modifiche di configurazione seguenti.

  • max_allowed_packet: impostare su 1073741824 (ad esempio 1 GB) per evitare problemi di connessione causati da 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.

  • query_store_capture_mode: impostare su NONE per disattivare Query Store. In questo modo si eliminerà l'overhead causato dalle attività di campionamento di Query Store.

  • innodb_buffer_pool_size: 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 & innodb_write_io_threads : passare a 4 dai parametri del server in portale di Azure per migliorare la velocità della migrazione.

  • Aumentare il livello di archiviazione: le operazioni di I/O al secondo per il database di Azure per il server MySQL aumentano progressivamente con l'aumento del livello di archiviazione.

    • Nell'opzione di distribuzione Server singolo, per carichi più veloci, è consigliabile aumentare il livello di archiviazione per aumentare il provisioning di operazioni di I/O al secondo.
    • Nell'opzione di distribuzione Server flessibile è consigliabile ridimensionare (aumentare o diminuire) operazioni di I/O al secondo indipendentemente dalle dimensioni di archiviazione.
    • Tenere presente che le dimensioni di archiviazione possono essere solo aumentate, non ridotte.
  • 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 Utilizzo generico 16 vCore calcolo 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.

Al termine della migrazione, è possibile ripristinare i parametri del server e la configurazione sui valori richiesti dal carico di lavoro.

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 of a Select subscriptions from Azure Marketplace.

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

  3. Cercare il termine "Migrazione" e quindi selezionare Registra per Microsoft.DataMigration. Screenshot of a Register your resource provider.

Creare un'istanza di Servizio Migrazione del database

  1. Nel portale di Azure selezionare + Crea una risorsa, cercare Servizio Migrazione del database di Azure e quindi selezionare Servizio Migrazione del database di Azure dall'elenco a discesa.

    Azure Marketplace

  2. Nella schermata Servizio Migrazione del database di Azure selezionare Crea.

    Create Azure Database Migration Service instance

  3. Nella schermata Crea servizio Migrazione specificare un nome per il servizio, la sottoscrizione e un gruppo di risorse nuovo o esistente.

  4. Selezionare un piano tariffario e passare alla schermata di rete. La funzionalità di migrazione offline è disponibile solo nel piano tariffario Premium.

    Per altre informazioni sui costi e i piani tariffari, vedere la pagina relativa ai prezzi.

    Configure Azure Database Migration Service basic settings

  5. Selezionare una rete virtuale esistente dall'elenco o specificare il nome della nuova rete virtuale da creare. Passare alla schermata rivedi e crea. Facoltativamente, è possibile aggiungere tag al servizio usando la schermata tag.

    La rete virtuale consente al Servizio Migrazione del database di Azure di accedere all'istanza di SQL Server di origine e all'istanza di destinazione di Database SQL di Azure.

    Configure Azure Database Migration Service network settings

    Per altre informazioni su come creare una rete virtuale nel portale di Azure, vedere l'articolo Creare una rete virtuale con il portale di Azure.

  6. Esaminare le configurazioni e selezionare Crea per creare il servizio.

    Azure Database Migration Service create

Creare un progetto di migrazione

Dopo aver creato il servizio, individuarlo nel portale di Azure, aprirlo e creare un nuovo progetto di migrazione.

  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.

    Locate all instances of Azure Database Migration Service

  2. Selezionare l'istanza del servizio di migrazione nei risultati della ricerca e selezionare + Nuovo progetto di migrazione.

    Create a new migration project

  3. Nella schermata Nuovo progetto di migrazione specificare un nome per il progetto, nella casella di selezione Tipo server di origine selezionare MySQL, nella casella di selezione Tipo di server di destinazione selezionare Database di Azure per MySQL e nella casella di selezione Tipo di attività migrazione selezionare Migrazione dati. Selezionare Crea ed esegui attività.

    Create Database Migration Service Project

    Nota

    In alternativa, è possibile scegliere Crea solo il progetto per creare subito il progetto di migrazione ed eseguire la migrazione in un secondo momento.

Configurare il progetto di migrazione

  1. Nella schermata Seleziona origine specificare i dettagli di connessione per l'istanza mySQL di origine e selezionare Avanti : Selezionare la destinazione>>

    Add source details screen

  2. Nella schermata Seleziona destinazione specificare i dettagli di connessione per l'istanza di Database di Azure per MySQL di destinazione e selezionare Avanti : Selezionare i database>>

    Add target details screen

  3. Nella schermata Seleziona database eseguire il mapping dell'origine e del database di destinazione per la migrazione e selezionare Avanti: Configurare le impostazioni>> di migrazione. È possibile selezionare l'opzione Rendi di sola lettura server di origine per rendere l'origine di sola lettura, ma prestare attenzione che si tratta di un'impostazione a livello di server. Se selezionata, imposta l'intero server in sola lettura, non solo i database selezionati.

    Se il database di destinazione contiene lo stesso nome del database di origine, il Servizio Migrazione del database di Azure seleziona il database di destinazione per impostazione predefinita. Select database details screen

  4. Nella schermata Configura impostazioni di migrazione selezionare le tabelle da far parte della migrazione e selezionare Avanti : Riepilogo>>. Se le tabelle di destinazione contengono dati, non sono selezionate per impostazione predefinita, ma è possibile selezionarle in modo esplicito e verranno troncate prima di avviare la migrazione.

    Select tables screen

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

    Migration project summary

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

    Running migration

Monitorare la migrazione

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

  2. È possibile fare clic sul nome del database nella schermata attività per visualizzare lo stato di ogni tabella durante la migrazione. Selezionare Aggiorna per aggiornare la visualizzazione.

    Monitoring migration

Completare la migrazione

  1. Nella schermata dell'attività di migrazione selezionare Aggiorna per aggiornare la visualizzazione finché nel campo Stato della migrazione non viene indicato Completata.

    Complete migration

Attività successive alla migrazione

Il cutover della migrazione in una migrazione offline è un processo dipendente dall'applicazione che non rientra nell'ambito di questo documento, ma sono previste le attività successive alla migrazione:

  1. Creare account di accesso, ruoli e autorizzazioni in base ai requisiti dell'applicazione.
  2. Ricreare tutti i trigger nel database di destinazione come estratti durante il passaggio di pre-migrazione.
  3. Eseguire test di integrità dell'applicazione nel database di destinazione per certificare la migrazione.

Pulire le risorse

Se non si intende continuare a usare il Servizio Migrazione del database, è possibile eliminare il servizio seguendo 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.

    Locate all instances of DMS

  2. Selezionare l'istanza del servizio di migrazione nei risultati della ricerca e selezionare Elimina servizio.

    Delete the migration service

  3. Nella finestra di dialogo di conferma digitare il nome del servizio nella casella di testo TYPE THE DATABA edizione Standard MIGRATION edizione Standard RVICE NAME e selezionare Elimina.

    Confirm migration service delete

Passaggi successivi