Migrare il database MySQL mediante l'importazione ed esportazioneMigrate your MySQL database by using import and export

In questo articolo vengono illustrati due approcci comuni per importare ed esportare i dati in un database di Azure per il server MySQL con MySQL Workbench.This article explains two common approaches to importing and exporting data to an Azure Database for MySQL server by using MySQL Workbench.

Prima di iniziareBefore you begin

Per proseguire con questa guida, si richiedono:To step through this how-to guide, you need:

Usare strumenti comuniUse common tools

Usare strumenti comuni, come ad esempio MySQL Workbench, Toad o Navicat per connettersi in modalità remota e importare o esportare dati nel database di Azure per MySQL.Use common tools such as MySQL Workbench, Toad, or Navicat to remotely connect and import or export data into Azure Database for MySQL.

Usare tali strumenti sul computer client con una connessione Internet per connettersi al database di Azure per MySQL.Use such tools on your client machine with an Internet connection to connect to Azure Database for MySQL. Usare una connessione SSL crittografata per le procedure di sicurezza consigliate, come descritto in Configurare la connettività SSL nel database di Azure per MySQL.Use an SSL-encrypted connection for best security practices, as described in Configure SSL connectivity in Azure Database for MySQL.

Durante la migrazione al database di Azure per MySQL non è necessario spostare i file di importazione ed esportazione in alcun percorso cloud speciale.You do not need to move your import and export files to any special cloud location when migrating to Azure Database for MySQL.

Creare un database nel database di Azure per il server MySQLCreate a database on the Azure Database for MySQL server

Creare un database vuoto nel database di Azure per il server MySQL in cui si vuole eseguire la migrazione dei dati.Create an empty database on the Azure Database for MySQL server where you want to migrate the data. Usare uno strumento come MySQL Workbench, Toad o Navicat per creare il database.Use a tool such as MySQL Workbench, Toad, or Navicat to create the database. 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.The database can have the same name as the database that contains the dumped data, or you can create a database with a different name.

Per la connessione, individuare le informazioni di connessione nella pagina Panoramica del database di Azure per MySQL.To get connected, locate the connection information in the Overview of your Azure Database for MySQL.

Trovare le informazioni di connessione nel portale di Azure

Aggiungere le informazioni di connessione a MySQL Workbench.Add the connection information to MySQL Workbench.

Stringa di connessione MySQL Workbench

Determinare quando usare le tecniche di importazione ed esportazione anziché un dump e ripristinoDetermine when to use import and export techniques instead of a dump and restore

Usare gli strumenti di MySQL per importare ed esportare database nel database MySQL di Azure negli scenari seguenti.Use MySQL tools to import and export databases into Azure MySQL Database in the following scenarios. In altri scenari, è invece possibile trarre vantaggio dall'approccio di dump e ripristino.In other scenarios, you might benefit from using the dump and restore approach instead.

  • Quando è necessario scegliere in modo selettivo alcune tabelle da importare da un database MySQL esistente nel database MySQL di Azure, è consigliabile usare la tecnica di importazione ed esportazione.When you need to selectively choose a few tables to import from an existing MySQL database into Azure MySQL Database, it's best to use the import and export technique. In questo modo, è possibile omettere tutte le tabelle non necessarie dalla migrazione per risparmiare tempo e risorse.By doing so, you can omit any unneeded tables from the migration to save time and resources. Ad esempio, usare l'istruzione --include-tables o --exclude-tables con mysqlpump e l'istruzione --tables con mysqldump.For example, use the --include-tables or --exclude-tables switch with mysqlpump and the --tables switch with mysqldump.
  • Quando si spostano oggetti del database diversi dalle tabelle, crearli in modo esplicito.When you're moving the database objects other than tables, explicitly create those objects. Includere vincoli (chiave primaria, chiave esterna, indici), viste, funzioni, procedure, trigger e altri oggetti di database per i quali si intende eseguire la migrazione.Include constraints (primary key, foreign key, indexes), views, functions, procedures, triggers, and any other database objects that you want to migrate.
  • Quando si esegue la migrazione di dati da origini dati esterne diverse da un database MySQL, creare un file flat e importarli usando mysqlimport.When you're migrating data from external data sources other than a MySQL database, create flat files and import them by using mysqlimport.

Verificare che tutte le tabelle nel database usino il motore di archiviazione InnoDB quando si caricano dati nel database di Azure per MySQL.Make sure that all tables in the database use the InnoDB storage engine when you're loading data into Azure Database for MySQL. Il database di Azure per MySQL supporta solo il motore di archiviazione InnoDB, pertanto non sono supportati motori di archiviazione alternativi.Azure Database for MySQL supports only the InnoDB storage engine, so it doesn't support alternative storage engines. Se le tabelle richiedono motori di archiviazione alternativi, assicurarsi di convertirli in modo che usino il formato di motore InnoDB prima della migrazione al database di Azure per MySQL.If your tables require alternative storage engines, be sure to convert them to use the InnoDB engine format before the migration to Azure Database for MySQL.

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.For example, if you have a WordPress or web app that uses the MyISAM engine, first convert the tables by migrating the data into InnoDB tables. Eseguire quindi il ripristino al database di Azure per MySQL.Then restore to Azure Database for MySQL. 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.Use the clause ENGINE=INNODB to set the engine for creating a table, and then transfer the data into the compatible table before the migration.

INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns

Consigli relativi alle prestazioni per l'importazione ed esportazionePerformance recommendations for import and export

  • Creare indici cluster e chiavi primarie prima di caricare dati.Create clustered indexes and primary keys before loading data. Caricare i dati nell'ordine delle chiavi primarie.Load data in primary key order.
  • Ritardare la creazione di indici secondari fino al termine del caricamento dei dati.Delay creation of secondary indexes until after data is loaded. Creare tutti gli indici secondari dopo il caricamento.Create all secondary indexes after loading.
  • Disabilitare i vincoli di chiave esterna prima del caricamento.Disable foreign key constraints before loading. La disabilitazione dei controlli della chiave esterna offre miglioramenti significativi delle prestazioni.Disabling foreign key checks provides significant performance gains. Abilitare i vincoli e verificare i dati dopo il caricamento per garantire l'integrità referenziale.Enable the constraints and verify the data after the load to ensure referential integrity.
  • Caricare i dati in parallelo.Load data in parallel. Evitare un eccessivo parallelismo che comporterebbe il raggiungimento del limite di risorse e monitorare le risorse con le metriche offerte nel portale di Azure.Avoid too much parallelism that would cause you to hit a resource limit, and monitor resources by using the metrics available in the Azure portal.
  • Usare le tabelle partizionate quando appropriato.Use partitioned tables when appropriate.

Importare ed esportare con MySQL WorkbenchImport and export by using MySQL Workbench

Esistono due modi per esportare e importare dati in MySQL Workbench,There are two ways to export and import data in MySQL Workbench. ognuno destinato a uno scopo diverso.Each serves a different purpose.

Procedure guidate di esportazione e importazione dei dati di una tabella tramite il menu di scelta rapida del visualizzatore oggettiTable data export and import wizards from the object browser's context menu

Procedure guidate di MySQL Workbench nel menu di scelta rapida del visualizzatore oggetti

Le procedure guidate per i dati delle tabelle supportano le operazioni di importazione ed esportazione tramite i file CSV e JSON.The wizards for table data support import and export operations by using CSV and JSON files. Includono diverse opzioni di configurazione, ad esempio separatori, selezione colonne e selezione di codifica.They include several configuration options, such as separators, column selection, and encoding selection. È possibile eseguire ogni procedura guidata su server MySQL connessi in modalità remota o locale.You can perform each wizard against local or remotely connected MySQL servers. L'operazione di importazione include tabelle, colonne e mapping dei tipi.The import action includes table, column, and type mapping.

È possibile accedere a queste procedure guidate dal menu di scelta rapida del visualizzatore oggetti facendo clic con il pulsante destro del mouse su una tabella.You can access these wizards from the object browser's context menu by right-clicking a table. Scegliere quindi Table Data Export Wizard (Esportazione guidata di tabelle) o Table Data Import Wizard (Importazione guidata di tabelle).Then choose either Table Data Export Wizard or Table Data Import Wizard.

Esportazione guidata di tabelleTable Data Export Wizard

L'esempio seguente illustra l'esportazione di una tabella in un file CSV:The following example exports the table to a CSV file:

  1. Fare clic con il pulsante destro del mouse sulla tabella del database da esportare.Right-click the table of the database to be exported.
  2. Selezionare Table Data Export Wizard (Esportazione guidata di tabelle).Select Table Data Export Wizard. Selezionare le colonne da esportare, l'offset di riga (se presente) e il conteggio (se presente).Select the columns to be exported, row offset (if any), and count (if any).
  3. Fare clic su Avanti nella pagina Selezionare i dati da esportare.On the Select data for export page, click Next. Selezionare il percorso del file, il tipo di file CSV o JSON.Select the file path, CSV, or JSON file type. Selezionare anche separatore di riga, metodo di inclusione delle stringhe e separatore di campo.Also select the line separator, method of enclosing strings, and field separator.
  4. Fare clic su Avanti nella pagina Select output file location (Selezionare la posizione del file di output).On the Select output file location page, click Next.
  5. Fare clic su Avanti nella pagina Esporta dati.On the Export data page, click Next.

Importazione guidata di tabelleTable Data Import Wizard

L'esempio seguente illustra l'importazione di una tabella da un file CSV:The following example imports the table from a CSV file:

  1. Fare clic con il pulsante destro del mouse sulla tabella del database da importare.Right-click the table of the database to be imported.
  2. Individuare e selezionare il file CSV da importare e quindi fare clic su Avanti.Browse to and select the CSV file to be imported, and then click Next.
  3. Selezionare la tabella di destinazione (nuova o esistente) e selezionare o deselezionare la casella di controllo Truncate table before import (Tronca tabella prima dell'importazione).Select the destination table (new or existing), and select or clear the Truncate table before import check box. Fare clic su Avanti.Click Next.
  4. Selezionare la codifica e le colonne da importare e quindi fare clic su Avanti.Select encoding and the columns to be imported, and then click Next.
  5. Fare clic su Avanti nella pagina Importa dati.On the Import data page, click Next. La procedura guidata importa i dati di conseguenza.The wizard imports the data accordingly.

Esportazione e importazione guidata di dati SQL dal riquadro Strumento di navigazioneSQL data export and import wizards from the Navigator pane

Usare una procedura guidata per esportare o importare SQL generati da MySQL Workbench o tramite il comando mysqldump.Use a wizard to export or import SQL generated from MySQL Workbench or generated from the mysqldump command. Accedere a queste procedure guidate dal riquadro Strumento di navigazione oppure selezionando Server dal menu principale.Access these wizards from the Navigator pane or by selecting Server from the main menu. Selezionare quindi Esporta dati o Importa dati.Then select Data Export or Data Import.

Esportazione datiData Export

Esportazione dati da MySQL Workbench tramite il riquadro Strumento di navigazione

È possibile usare la scheda Esporta dati per esportare i dati di MySQL.You can use the Data Export tab to export your MySQL data.

  1. Selezionare ogni schema da esportare, se si vuole scegliere tabelle/oggetti specifici dello schema da ogni schema e generare l'esportazione.Select each schema that you want to export, optionally choose specific schema objects/tables from each schema, and generate the export. Le opzioni di configurazione includono l'esportazione in una cartella di progetto o in un file SQL autonomo, eventi e routine di dump archiviati o consentono di ignorare i dati della tabella.Configuration options include export to a project folder or self-contained SQL file, dump stored routines and events, or skip table data.

    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.Alternatively, use Export a Result Set to export a specific result set in the SQL editor to another format, such as CSV, JSON, HTML, and XML.

  2. Selezionare gli oggetti del database da esportare e configurare le opzioni correlate.Select the database objects to export, and configure the related options.
  3. Fare clic su Aggiorna per caricare gli oggetti correnti.Click Refresh to load the current objects.
  4. Se si preferisce, aprire la scheda Opzioni avanzate per definire l'operazione di esportazione.Optionally, open the Advanced Options tab to refine the export operation. Ad esempio, aggiungere blocchi di tabella, usare istruzioni "replace" anziché "insert" e segnalare gli identificatori con l'apice inverso.For example, add table locks, use replace instead of insert statements, and quote identifiers with backtick characters.
  5. Fare clic su Avvia esportazione per avviare il processo di esportazione.Click Start Export to begin the export process.

Importazione datiData Import

Importazione di dati da MySQL Workbench tramite Management Navigator

È possibile usare la scheda Importa dati per importare o ripristinare i dati esportati tramite l'operazione di esportazione dati o con il comando mysqldump.You can use the Data Import tab to import or restore exported data from the data export operation or from the mysqldump command.

  1. Scegliere la cartella di progetto o il file SQL autonomo, scegliere lo schema in cui eseguire l'importazione o scegliere Nuovo per definire un nuovo schema.Choose the project folder or self-contained SQL file, choose the schema to import into, or choose New to define a new schema.
  2. Fare clic su Inizia importazione per avviare il processo di importazione.Click Start Import to begin the import process.

Passaggi successiviNext steps

Per un altro approccio di migrazione, vedere Eseguire la migrazione del database MySQL mediante dump e ripristino nel database di Azure per MySQL.As another migration approach, read Migrate your MySQL database using dump and restore in Azure Database for MySQL.