Esercitazione: Eseguire la migrazione offline da server singolo a server flessibile di Database di Azure per MySQL con 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 di Database di Azure per MySQL a un server flessibile MySQL (che eseguono entrambi la versione 5.7) usando un'attività di migrazione del Servizio Migrazione del database.
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 a Replica dei dati in ingresso o replicare le modifiche. È anche 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 caricamenti di dati più veloci tramite il 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 il 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:
Creare o usare un'istanza esistente di Database di Azure per MySQL – Server singolo (server di origine).
Per completare correttamente una migrazione dello schema, nel server di origine l'utente che esegue la migrazione richiede i privilegi seguenti:
- Privilegio "SELECT" a livello di server nell'origine.
- Se si esegue la migrazione delle viste, l'utente deve disporre del privilegio "SHOW VIEW" nel server di origine e del privilegio "CREATE VIEW" nel server di destinazione.
- Se si esegue la migrazione dei trigger, l'utente deve disporre del privilegio "TRIGGER" nel server di origine e di destinazione.
- Se si esegue la migrazione di routine (procedure e/o funzioni), l'utente deve disporre dei privilegi "CREATE ROUTINE" e "ALTER ROUTINE" concessi a livello di server nella destinazione.
- Se si esegue la migrazione di eventi, l'utente deve disporre del privilegio "EVENT" nel server di origine e di destinazione.
- Se si esegue la migrazione di utenti/account di accesso, l'utente deve disporre del privilegio "CREATE USER" nel server di destinazione.
- Privilegio "DROP" a livello di server nella destinazione, per eliminare le tabelle che potrebbero già esistere. Ad esempio, quando si ritenta una migrazione.
- Privilegio "REFERENCES" a livello di server sulla destinazione, per creare tabelle con chiavi esterne.
- Se si esegue la migrazione a MySQL 8.0, l'utente deve disporre del privilegio "SESSION_VARIABLES_ADMIN" nel server di destinazione.
- Privilegio "CREATE" a livello di server nella destinazione.
- Privilegio "INSERT" a livello di server nella destinazione.
- Privilegio "UPDATE" a livello di server nella destinazione.
- Privilegio "DELETE" a livello di server nella destinazione.
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 in cui è abilitata l'opzione bin_log, 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. 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 1 Utilizzo generico Standard_D16ds_v4 Basic 1 2 Utilizzo generico Standard_D16ds_v4 Per utilizzo generale: 1 4 Utilizzo generico Standard_D16ds_v4 Per utilizzo generale: 1 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 1 Per la migrazione selezionare "Calcolo 16 VCore per utilizzo generico" 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 la procedura guidata, vedere l’avvio rapido: Avvio rapido: creare un'istanza di Database di Azure per MySQL usando il portale di Azure.
Dopo aver configurato il server flessibile di destinazione appena creato, procedere come segue:
- L'utente che esegue la migrazione deve disporre delle autorizzazioni seguenti:
- Per creare tabelle nella destinazione, l'utente deve disporre del privilegio "CREATE".
- Se si esegue la migrazione a una tabella con un'opzione "UNION", l'utente deve disporre dei privilegi "SELECT", "UPDATE" e "DELETE" per le tabelle mappate a una tabella MERGE.
- Se si esegue la migrazione di viste, è necessario disporre del privilegio "CREATE VIEW". Tenere presente che alcuni privilegi possono essere necessari a seconda del contenuto delle viste. Per informazioni dettagliate, vedere la documentazione MySQL specifica della versione per "CREATE VIEW STATEMENT"
- Se si esegue la migrazione di eventi, l'utente deve disporre del privilegio "EVENT".
- Se si esegue la migrazione di trigger, l'utente deve disporre del privilegio "TRIGGER".
- Se si esegue la migrazione di routine, l'utente deve disporre del 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ò potrebbe 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 il parametro del server require_secure_transport 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 il Servizio Migrazione del database, configurare i parametri del server seguenti come descritto.
- max_allowed_packet: impostarlo su 1073741824 (ad esempio 1 GB) per evitare eventuali 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.
- È possibile aumentare innodb_buffer_pool_size solo aumentando il calcolo per il server di Database di Azure per MySQL. Aumentare il numero di SKU per utilizzo generico del server a 64 vCore dal piano tariffario del portale durante la migrazione per aumentare innodb_buffer_pool_size.
- innodb_io_capacity & innodb_io_capacity_max: passare a 9000 dai parametri server nel 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 nel portale di Azure per migliorare la velocità di 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 sull'integrità risorse
- L'utente che esegue la migrazione deve disporre delle autorizzazioni seguenti:
Configurare Il Servizio Migrazione del database
Dopo aver distribuito e configurato il server flessibile di destinazione, è necessario configurare il 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.
Prima di creare la prima istanza del Servizio Migrazione del database, accedere al portale di Azure e quindi cercare e selezionare Sottoscrizioni.
Selezionare la sottoscrizione da usare per creare l'istanza del Servizio Migrazione del database e quindi selezionare Provider di risorse.
Cercare il termine "Migration" e quindi, per Microsoft.DataMigration, selezionare Registra.
Creare un'istanza del Servizio Migrazione del database
Nel portale di Azure selezionare + Crea una risorsa, cercare "Servizio Migrazione del database di Azure" e selezionare Servizio Migrazione del database di Azure dall'elenco a discesa.
Nella schermata Servizio Migrazione del database di Azure selezionare Crea.
Nella pagina Selezionare lo scenario di migrazione e il Servizio Migrazione del database in Scenario di migrazione selezionare Server singolo di Database di Azure per MySQL come tipo di server di origine e quindi selezionare Database di Azure per MySQL come tipo di server di destinazione, quindi selezionare Seleziona.
Nella pagina Crea servizio migrazione nella scheda Informazioni di base, in Dettagli progetto selezionare la sottoscrizione appropriata e quindi selezionare un gruppo di risorse esistente o crearne uno nuovo.
In Dettagli istanza specificare un nome per il servizio, selezionare un'area e quindi verificare che Azure sia selezionato come modalità servizio.
A destra di Piano tariffario, selezionare Configura livello.
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 i piani tariffari del Servizio Migrazione del database, vedere la pagina relativa ai prezzi.
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.
Nella pagina Crea servizio migrazione selezionare Avanti: Rete >>.
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 tramite il portale di Azure.
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 di servizio della rete virtuale per i server di Database di Azure per MySQL di origine e di destinazione per consentire alla rete virtuale per il Servizio Migrazione del database di Azure di accedere ai database di origine e di destinazione.
Assicurarsi che le regole del gruppo di sicurezza di rete per la rete virtuale non blocchino la porta in uscita 443 di ServiceTag per ServiceBus, Archiviazione e Monitoraggio di Azure. Per altre informazioni sui filtri del traffico dei gruppi di sicurezza di rete relativi alla rete virtuale, vedere Filtrare il traffico di rete con gruppi di sicurezza di rete.
Per aggiungere tag al servizio, selezionare prima Avanti: Tag per passare prima alla scheda Tag. L'aggiunta di tag al servizio è facoltativa.
Passare alla scheda Rivedi e crea, esaminare le configurazioni, visualizzare i termini e quindi selezionare Crea.
La distribuzione dell'istanza del Servizio Migrazione del database ha ora inizio. Il messaggio Distribuzione è in corso viene visualizzato per alcuni minuti e quindi cambia in La distribuzione è stata completata.
Selezionare Vai alla risorsa.
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.
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.
Nei risultati della ricerca selezionare l'istanza del Servizio Migrazione del database creata e quindi selezionare + Nuovo progetto di migrazione.
Nella pagina Nuovo progetto di migrazione specificare un nome per il progetto, nella casella di selezione Tipo di 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 offline, quindi selezionare Crea ed esegui attività.
Selezionando Crea solo progetto come tipo di attività di migrazione verrà creato solo il progetto di migrazione; sarà quindi possibile eseguire il progetto di migrazione in un secondo momento.
Configurare il progetto di migrazione
Per configurare il progetto di migrazione del Servizio Migrazione del database, seguire questa procedura.
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 nel portale di Azure e passare al pannello Parametri del server. Configurare il valore del parametro del server di read_only 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.
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 MySQL per Database di Azure per MySQL Migrazione dei dati - Snapshot coerente con MySQL.
Tornare alla schermata di configurazione del progetto di migrazione e nella schermata Selezionare l'origine, specificare i dettagli di connessione per l'istanza mySQL di origine.
Selezionare Avanti: selezionare destinazione>> e quindi nella schermata Seleziona destinazione, specificare i dettagli di connessione per il server flessibile di destinazione.
Selezionare Avanti: selezionare i database>> e quindi nella scheda Seleziona database in [Anteprima] Selezionare gli oggetti server selezionare gli oggetti server di cui eseguire la migrazione.
Nella sezione Selezionare i database, in Database di origine selezionare i database di cui eseguire la migrazione.
Gli oggetti non di tabella nei database specificati verranno migrati, mentre gli elementi non selezionati verranno ignorati.
Selezionare Avanti: seleziona database>> per passare alla scheda Seleziona tabelle.
Prima che la scheda venga popolata, il 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.
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 dello 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.
Il Servizio Migrazione del database convalida gli input e, se la convalida viene superata, sarà possibile avviare la migrazione.
Dopo aver configurato la migrazione dello schema, selezionare Rivedi e avvia la migrazione.
Nota
È sufficiente passare alla scheda Configura le impostazioni di migrazione se si sta tentando di risolvere problemi relativi alle migrazioni non riuscite.
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.
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
Nella schermata attività di migrazione, selezionare Aggiorna per aggiornare la visualizzazione e visualizzare lo stato di avanzamento e il numero di tabelle completate.
Per visualizzare lo stato di ogni tabella durante la migrazione, selezionare il nome del database e quindi selezionare Aggiorna per aggiornare la visualizzazione.
Selezionare Aggiorna per aggiornare la visualizzazione finché nel campo Stato delle migrazioni non viene indicato Completata.
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 la 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:
- 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.
- Selezionare l'istanza del servizio di migrazione nei risultati della ricerca e selezionare Elimina servizio.
- Nella casella di testo DIGITARE IL NOME DEL SERVIZIO MIGRAZIONE DEL DATABASE 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 di migrare 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.
Contenuto correlato
- Che cos'è Database di Azure per MySQL - Server flessibile?
- Che cos'è il Servizio Migrazione del database di Azure?
- Risolvere i problemi e gli errori comuni del Servizio Migrazione del database di Azure (versione classica)
- Risolvere gli errori del Servizio Migrazione del database di Azure durante la connessione a database di origine