Eseguire la migrazione del database del server flessibile Database di Azure per MySQL usando l'importazione e l'esportazione

SI APPLICA A: Database di Azure per MySQL - Server singolo Database di Azure per MySQL - Server flessibile

Importante

Database di Azure per MySQL server singolo si trova nel percorso di ritiro. È consigliabile eseguire l'aggiornamento a Database di Azure per MySQL server flessibile. Per altre informazioni sulla migrazione a Database di Azure per MySQL server flessibile, vedere Che cosa accade a Database di Azure per MySQL server singolo?

Questo articolo illustra due approcci comuni per l'importazione e l'esportazione di dati in un'istanza del server flessibile Database di Azure per MySQL tramite MySQL Workbench.

Per indicazioni dettagliate e complete sulla migrazione, vedere le risorse della guida alla migrazione.

Per altri scenari di migrazione, vedere La Guida alla migrazione del database.

Prerequisiti

Prima di iniziare la migrazione del database MySQL, è necessario:

Creare un database nell'istanza del server flessibile Database di Azure per MySQL

Creare un database vuoto nell'istanza del server flessibile Database di Azure per MySQL usando MySQL Workbench, Toad o Navicat. Il database può avere lo stesso nome del database che contiene i dati di dump; in alternativa, è possibile creare un database con un nome diverso.

Per connettersi, eseguire le operazioni seguenti:

  1. Nella portale di Azure cercare le informazioni di connessione nel riquadro Panoramica dell'istanza del server flessibile Database di Azure per MySQL.

    Screenshot of the Azure Database for MySQL flexible server instance connection information in the Azure portal.

  2. Aggiungere le informazioni di connessione a MySQL Workbench.

    Screenshot of the MySQL Workbench connection string.

Determinare quando usare tecniche di importazione ed esportazione

Suggerimento

Per gli scenari in cui si vuole eseguire il dump e il ripristino dell'intero database, usare invece l'approccio dump e ripristino .

Negli scenari seguenti usare gli strumenti MySQL per importare ed esportare database nel database MySQL. Per altri strumenti, passare alla sezione "Metodi di migrazione" (pagina 22) della guida alla migrazione di MySQL al database di Azure.

  • Quando è necessario scegliere in modo selettivo alcune tabelle da importare da un database MySQL esistente nel database del server flessibile Database di Azure per MySQL, è consigliabile usare la tecnica di importazione ed esportazione. In questo modo, è possibile omettere tutte le tabelle non necessarie dalla migrazione per risparmiare tempo e risorse. Ad esempio, usare l'opzione o con mysqlpump e l'opzione --tables con mysqldump.--exclude-tables--include-tables
  • Quando si spostano oggetti di database diversi dalle tabelle, creare in modo esplicito tali oggetti. Includere vincoli (chiave primaria, chiave esterna e indici), viste, funzioni, procedure, trigger e qualsiasi altro oggetto di database di cui si vuole eseguire la migrazione.
  • Quando si esegue la migrazione di dati da origini dati esterne diverse da un database MySQL, creare un file flat e importarli usando mysqlimport.

Importante

Sia Database di Azure per MySQL server singolo che Database di Azure per MySQL server flessibile supportano solo il motore di archiviazione InnoDB. Assicurarsi che tutte le tabelle del database usino il motore di archiviazione InnoDB durante il caricamento dei dati nell'istanza del server flessibile Database di Azure per MySQL.

Se il database di origine usa un altro motore di archiviazione, eseguire la conversione nel motore InnoDB prima di eseguire la migrazione del database. Se ad esempio si possiede un'app Web o WordPress che usa il motore MyISAM, convertire prima le tabelle eseguendo la migrazione dei dati in tabelle InnoDB. Usare la clausola ENGINE=INNODB per impostare il motore per la creazione di una tabella e trasferire i dati nella tabella compatibile prima della migrazione.

INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns

Consigli relativi alle prestazioni per l'importazione ed esportazione

Per ottenere prestazioni ottimali di importazione ed esportazione dei dati, è consigliabile eseguire le operazioni seguenti:

  • Creare indici cluster e chiavi primarie prima di caricare i dati. Caricare i dati nell'ordine di chiave primaria.
  • Ritardare la creazione di indici secondari fino al caricamento dei dati.
  • Disabilitare i vincoli di chiave esterna prima di caricare i dati. La disabilitazione dei controlli della chiave esterna offre miglioramenti significativi delle prestazioni. Abilitare i vincoli e verificare i dati dopo il caricamento per garantire l'integrità referenziale.
  • Caricare i dati in parallelo. Evitare un eccessivo parallelismo che comporterebbe il raggiungimento del limite di risorse e monitorare le risorse con le metriche offerte nel portale di Azure.
  • Usare le tabelle partizionate quando appropriato.

Importare ed esportare dati usando MySQL Workbench

Esistono due modi per esportare e importare dati in MySQL Workbench: dal menu di scelta rapida del visualizzatore oggetti o dal riquadro Strumento di navigazione. Ogni metodo ha uno scopo diverso.

Nota

Se si aggiunge una connessione a Database di Azure per MySQL server singolo o Database di Azure per MySQL server flessibile in MySQL Workbench, eseguire le operazioni seguenti:

  • Per Database di Azure per MySQL server singolo, assicurarsi che il nome utente sia nel formato <username@servername>.
  • Per Database di Azure per MySQL server flessibile, usare solo il nome utente>.< Se si usa <username@servername> per connettersi, la connessione avrà esito negativo.

Eseguire l'esportazione e l'importazione guidata dei dati della tabella dal menu di scelta rapida del visualizzatore oggetti

Screenshot of the MySQL Workbench export and import wizard commands on the object browser's context menu.

Le procedure guidate per i dati della tabella supportano le operazioni di importazione ed esportazione usando file CSV e JSON. Le procedure guidate includono diverse opzioni di configurazione, ad esempio separatori, selezione di colonne e selezione della codifica. È possibile eseguire ogni procedura guidata sui server MySQL locali o connessi in remoto. L'operazione di importazione include tabelle, colonne e mapping dei tipi.

Per accedere a queste procedure guidate dal menu di scelta rapida del visualizzatore oggetti, fare clic con il pulsante destro del mouse su una tabella e quindi scegliere Esportazione guidata dati tabella o Importazione guidata dati tabella.

Esportazione guidata dati tabella

Per esportare una tabella in un file CSV:

  1. Fare clic con il pulsante destro del mouse sulla tabella del database da esportare.
  2. Selezionare Table Data Export Wizard (Esportazione guidata di tabelle). Selezionare le colonne da esportare, l'offset di riga (se presente) e il conteggio (se presente).
  3. Nel riquadro Seleziona dati per l'esportazione selezionare Avanti. Selezionare il percorso del file, il tipo di file CSV o JSON. Selezionare anche separatore di riga, metodo di inclusione delle stringhe e separatore di campo.
  4. Nel riquadro Selezionare il percorso del file di output selezionare Avanti.
  5. Nel riquadro Esporta dati selezionare Avanti.

Importazione guidata dati tabella

Per importare una tabella da un file CSV:

  1. Fare clic con il pulsante destro del mouse sulla tabella del database da importare.
  2. Cercare e selezionare il file CSV da importare e quindi selezionare Avanti.
  3. Selezionare la tabella di destinazione (nuova o esistente), selezionare o deselezionare la casella di controllo Tronca tabella prima dell'importazione e quindi selezionare Avanti.
  4. Selezionare la codifica e le colonne da importare e quindi selezionare Avanti.
  5. Nel riquadro Importa dati selezionare Avanti. La procedura guidata importa i dati.

Eseguire l'esportazione e l'importazione guidata dei dati SQL dal riquadro Strumento di navigazione

Usare una procedura guidata per esportare o importare dati SQL generati da MySQL Workbench o dal comando mysqldump. È possibile accedere alle procedure guidate dal riquadro Strumento di navigazione oppure selezionare Server dal menu principale.

Esporta dati

Screenshot of using the Navigator pane to display the Data Export pane in MySQL Workbench.

È possibile usare il riquadro Esportazione dati per esportare i dati MySQL.

  1. Nel riquadro Strumento di navigazione in MySQL Workbench selezionare Esportazione dati.

  2. Nel riquadro Esportazione dati selezionare ogni schema da esportare.

    Per ogni schema, è possibile selezionare oggetti o tabelle dello schema specifici da esportare. Le opzioni di configurazione includono l'esportazione in una cartella di progetto o in un file SQL autonomo, le routine e gli eventi archiviati nel dump o ignorare i dati della tabella.

    In alternativa, usare Export a Result Set (Esporta un set di risultati) per esportare uno specifico set di risultati nell'editor SQL in un altro formato, come ad esempio CSV, JSON, HTML e XML.

  3. Selezionare gli oggetti del database da esportare e configurare le opzioni correlate.

  4. Selezionare Aggiorna per caricare gli oggetti correnti.

  5. Facoltativamente, selezionare Opzioni avanzate in alto a destra per perfezionare l'operazione di esportazione. Ad esempio, aggiungere blocchi di tabella, usare replace anziché istruzioni e identificatori di insert virgolette con caratteri di backtick.

  6. Selezionare Avvia esportazione per avviare il processo di esportazione.

Importare i dati

Screenshot of using the Navigator pane to display the Data Import pane in MySQL Workbench.

È possibile usare il riquadro Importazione dati per importare o ripristinare i dati esportati dall'operazione di esportazione dei dati o dal comando mysqldump.

  1. Nel riquadro Strumento di navigazione in MySQL Workbench selezionare Importazione/ripristino dati.
  2. Selezionare la cartella del progetto o il file SQL autonomo, selezionare lo schema da importare oppure selezionare il pulsante Nuovo per definire un nuovo schema.
  3. Selezionare Avvia importazione per avviare il processo di importazione.

Passaggi successivi