Condividi tramite


Eseguire la migrazione di MySQL in locale a Database di Azure per MySQL: metodi di migrazione

L'esplorazione dei vari metodi per la migrazione di database MySQL da ambienti locali a Database di Azure per MySQL è essenziale per selezionare l'approccio più adatto alle proprie esigenze. Questo articolo illustra i diversi metodi di migrazione disponibili, fornendo un'analisi dettagliata dei vantaggi e delle potenziali sfide di ogni tecnica. Comprendendo le sfumature della migrazione offline, della migrazione online e degli approcci ibridi, è possibile prendere decisioni informate in linea con gli obiettivi e i requisiti tecnici dell'organizzazione. Sia che si stia cercando tempi di inattività minimi, efficienza dei costi o una transizione senza problemi, questa guida fornisce le conoscenze per scegliere il metodo di migrazione migliore ed eseguirlo in modo efficace.

Prerequisiti

Eseguire la migrazione di MySQL in locale a Database di Azure per MySQL: Pianificazione

Panoramica

Per ottenere i dati dall'origine alla destinazione è necessario usare strumenti o funzionalità di MySQL per eseguire la migrazione.

È importante completare l'intera fase di valutazione e pianificazione prima di iniziare le fasi successive. Le decisioni e i dati raccolti sono il percorso di migrazione e le dipendenze di selezione degli strumenti.

In questa sezione vengono esaminati gli strumenti di uso comune seguenti:

  • MySQL Workbench

  • mysqldump

  • mydumper e myloader

  • Replica dei dati in ingresso (binlog)

MySQL Workbench

MySQL Workbench offre un'esperienza grafica avanzata che consente agli sviluppatori e agli amministratori di progettare, sviluppare e gestire le istanze di MySQL.

La versione più recente di MySQL Workbench offre funzionalità sofisticate di migrazione degli oggetti quando si sposta un database da un'origine a una destinazione.

Importazione ed esportazione dei dati

MySQL Workbench offre un'interfaccia utente basata su procedura guidata per eseguire l'esportazione completa o parziale e l'importazione di tabelle e oggetti di database. Per un esempio di come usare MySQL Workbench, vedere Eseguire la migrazione del database MySQL usando l'importazione e l'esportazione.

Dump e ripristino (mysqldump)

mysqldump viene in genere fornito come parte dell'installazione di MySQL. Si tratta di un'utilità client che può essere eseguita per creare backup logici che equivalgono a un set di istruzioni SQL che possono essere riprodotte per ricompilare il database in un momento specifico. mysqldump non è concepita come soluzione veloce o scalabile per il backup o la migrazione di grandi quantità di dati. L'esecuzione di un set elevato di istruzioni di inserimento SQL può comportare prestazioni scarse a causa dell'I/O su disco necessario per aggiornare gli indici. Tuttavia, se combinato con altri strumenti che richiedono lo schema originale, mysqldump è uno strumento ideale per generare gli schemi di database e tabelle. Gli schemi possono creare l'ambiente della zona di destinazione.

L'utilità mysqldump fornisce funzionalità utili durante la fase di migrazione dei dati. Prima di eseguire l'utilità, è necessario valutare le considerazioni sulle prestazioni. Vedere Considerazioni sulle prestazioni.

mydumper e myloader

Gli ambienti con database di grandi dimensioni che richiedono una migrazione rapida devono usare mydumper e myloader. Questi strumenti sono scritti in C++ e usano tecniche multithreading per inviare i dati il più velocemente possibile all'istanza di MySQL di destinazione. mydumper e myloader sfruttare il parallelismo e accelerare la migrazione con un fattore di 10x o più.

Le versioni binarie degli strumenti disponibili per il download pubblico sono state compilate per Linux. Per eseguire questi strumenti in Windows, è necessario ricompilare i progetti open source. La compilazione del codice sorgente e la creazione di versioni non è un'attività semplice per la maggior parte degli utenti.

Replica dei dati in ingresso (binlog)

Analogamente ad altri sistemi di gestione di database, MySQL offre una funzionalità di replica dei log denominata replica binlog. La binlog funzionalità di replica consente la migrazione dei dati e la creazione di repliche in lettura.

Usare la replica binlog per eseguire la migrazione dei dati a Database di Azure per MySQL in uno scenario online. La replica dei dati consente di ridurre i tempi di inattività necessari per apportare le modifiche ai dati di destinazione finali.

Per usare la binlog funzionalità di replica esistono alcuni requisiti di configurazione :

  • È quindi consigliabile usare il motore MySQL InnoDB. Se si usa un motore di archiviazione diverso da InnoDB, è necessario eseguire la migrazione di tali tabelle a InnoDB.

  • Gli utenti della migrazione devono disporre delle autorizzazioni per configurare la registrazione binaria e creare nuovi utenti nel server master.

  • Se il server master dispone di SSL abilitato, verificare che il certificato DELLA CA SSL fornito per il dominio sia stato incluso nella stored procedure mysql.az_replication_change_master. Fare riferimento agli esempi seguenti e al parametro master_ssl_ca.

  • Verificare che l'indirizzo IP del server master sia stato aggiunto alle regole firewall del server di replica di Database di Azure per MySQL. Aggiornare le regole firewall usando il portale di Azure o l'interfaccia della riga di comando di Azure.

  • Verificare che il computer che ospita il server master consenta sia il traffico in ingresso che in uscita sulla porta 3306.

  • Verificare che il server master disponga di un indirizzo IP accessibile (pubblico o privato) dall'origine alle destinazioni.

Per eseguire una migrazione usando la replica, vedere Come configurare Database di Azure per MySQL replica dei dati in ingresso per informazioni dettagliate.

Il binlog metodo di replica presenta requisiti elevati di CPU e archiviazione aggiuntiva. Gli utenti della migrazione devono testare il carico posizionato nel sistema di origine durante le migrazioni online e determinare se è accettabile.

Servizio Migrazione del database di Azure

Il Servizio Migrazione del database di Azure è uno strumento basato sul cloud di Azure che consente agli amministratori di tenere traccia delle varie impostazioni per la migrazione e riutilizzarle, se necessario. Il Servizio Migrazione del database funziona creando progetti di migrazione con impostazioni che puntano a diverse origini e destinazioni. Supporta le migrazioni offline. Supporta inoltre carichi di lavoro di dati locali e carichi di lavoro basati sul cloud, ad esempio Amazon Relational Database Service (RDS) MySQL.

Anche se il servizio Servizio Migrazione del database è uno strumento online, si basa sulla binlog funzionalità di replica di MySQL per completare le attività. Attualmente, Il Servizio Migrazione del database automatizza parzialmente il processo di migrazione offline. Il Servizio Migrazione del database richiede la generazione e l'applicazione dello schema corrispondente nell'istanza di Database di Azure per MySQL di destinazione. Gli schemi possono essere esportati usando l'utilità mysqldump client.

Migrazione più veloce/minima di tempo di inattività

Esistono molti percorsi per la migrazione dei dati. Decidere quale percorso intraprendere è una funzione del set di competenze del team di migrazione e la quantità di tempo di inattività che i proprietari del database e dell'applicazione sono disposti ad accettare. Alcuni strumenti supportano approcci di migrazione dei dati paralleli multithread, mentre altri strumenti sono stati progettati solo per semplici migrazioni di dati di tabella.

Il percorso più rapido e completo consiste nell'usare binlog la replica (direttamente con MySQL o tramite Servizio Migrazione del database), ma comporta i costi di aggiunta di chiavi primarie.

Tabella delle decisioni

Esistono molti percorsi che possono essere usati per eseguire la migrazione dei carichi di lavoro MySQL. È stata fornita una tabella dei possibili percorsi e dei vantaggi e degli svantaggi di ognuno di essi:

Obiettivo Descrizione Strumento Prerequisiti Vantaggi Svantaggi
Migrazione più rapida possibile Approccio parallelo mydumper e myloader Linux Parallelizzazione elevata Limitazione della destinazione
Migrazione online Mantenere l'origine il più a lungo possibile binlog None Semplice Elaborazione e archiviazione aggiuntive
Migrazione offline Mantenere l'origine il più a lungo possibile Servizio Migrazione del database None Processo ripetibile Limitato ai dati solo, supporta tutte le versioni di MySQL
Migrazione offline altamente personalizzata Esportare in modo selettivo gli oggetti mysqldump None Altamente personalizzabile Manuale
Migrazione offline semi-automatizzata Esportazione e importazione basate sull'interfaccia utente MySQL Workbench Scaricare e installare Automazione parziale Sono supportati solo set comuni di commutatori

WWI Scenario

WWI ha selezionato il database della conferenza come primo carico di lavoro di migrazione. Il carico di lavoro è stato scelto perché ha avuto il minor rischio e il tempo di inattività più disponibile a causa del divario nella pianificazione annuale delle conferenze. Inoltre, in base alla valutazione del team di migrazione, ha determinato che ha tentato di eseguire una migrazione offline usando MySQL Workbench.

Elenco di controllo dei metodi di migrazione

  • Verificare che il metodo corretto sia selezionato in base agli ambienti di destinazione e di origine.

  • Assicurarsi che il metodo possa soddisfare i requisiti aziendali.

  • Verificare sempre se il carico di lavoro dati supporta il metodo .

Passaggio successivo