Migrar o banco de dados MySQL usando importação e exportaçãoMigrate your MySQL database by using import and export

APLICA-SE A: Banco de Dados do Azure para MySQL – Servidor Único Banco de Dados do Azure para MySQL – Servidor Flexível

Este artigo explica duas abordagens comuns de importação e exportação de dados para um Banco de Dados do Azure para MySQL Server usando o MySQL Workbench.This article explains two common approaches to importing and exporting data to an Azure Database for MySQL server by using MySQL Workbench.

Para obter diretrizes de migração detalhadas e abrangentes, consulte os recursos do guia de migração.For detailed and comprehensive migration guidance, see the migration guide resources.

Para outros cenários de migração, consulte o Guia de migração de banco de dados.For other migration scenarios, see the Database Migration Guide.

Pré-requisitosPrerequisites

Antes de começar a migrar seu banco de dados MySQL, você precisa:Before you begin migrating your MySQL database, you need to:

Criar um banco de dados no Banco de Dados do Azure para MySQL ServerCreate a database on the Azure Database for MySQL server

Crie um banco de dados vazio no banco de dados do Azure para o servidor MySQL usando o MySQL Workbench, Toad ou Navicat.Create an empty database on the Azure Database for MySQL server by using MySQL Workbench, Toad, or Navicat. O banco de dados pode ter o mesmo nome do banco de dados que contém os dados despejados ou você pode criar um banco de dados com um nome diferente.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.

Para se conectar, faça o seguinte:To get connected, do the following:

  1. Na portal do Azure, procure as informações de conexão no painel visão geral do banco de dados do Azure para MySQL.In the Azure portal, look for the connection information on the Overview pane of your Azure database for MySQL.

    Captura de tela das informações de conexão do servidor de banco de dados do Azure para MySQL no portal do Azure.

  2. Adicione as informações de conexão ao MySQL Workbench.Add the connection information to MySQL Workbench.

    Cadeia de conexão do MySQL Workbench

Determinar quando usar as técnicas de importação e exportaçãoDetermine when to use import and export techniques

Dica

Para cenários em que você deseja despejar e restaurar o banco de dados inteiro, use a abordagem de despejo e restauração em vez disso.For scenarios where you want to dump and restore the entire database, use the dump and restore approach instead.

Nos cenários a seguir, use as ferramentas do MySQL para importar e exportar bancos de dados para o banco de dados MySQL.In the following scenarios, use MySQL tools to import and export databases into your MySQL database. Para outras ferramentas, vá para a seção "métodos de migração" (página 22) do Guia de migração do MySQL para o banco de dados do Azure.For other tools, go to the "Migration Methods" section (page 22) of the MySQL to Azure Database migration guide.

  • Quando você precisa escolher seletivamente algumas tabelas para importar de um banco de dados MySQL existente para o banco de dados MySQL do Azure, é melhor usar a técnica de importação e exportação.When you need to selectively choose a few tables to import from an existing MySQL database into your Azure MySQL database, it's best to use the import and export technique. Ao fazer isso, você pode omitir todas as tabelas desnecessárias da migração, para economizar tempo e recursos.By doing so, you can omit any unneeded tables from the migration to save time and resources. Por exemplo, use a opção --include-tables ou --exclude-tables com mysqlpump e a opção --tables com mysqldump.For example, use the --include-tables or --exclude-tables switch with mysqlpump and the --tables switch with mysqldump.
  • Quando você estiver movendo objetos de banco de dados diferentes de tabelas, crie explicitamente esses objetos.When you're moving database objects other than tables, explicitly create those objects. Inclua restrições (chave primária, chave estrangeira e índices), exibições, funções, procedimentos, gatilhos e outros objetos de banco de dados que você deseja migrar.Include constraints (primary key, foreign key, and indexes), views, functions, procedures, triggers, and any other database objects that you want to migrate.
  • Quando estiver migrando dados de fontes de dados externas que não sejam um banco de dados MySQL, crie arquivos simples e importe-os 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.

Importante

O servidor único e o servidor flexível dão suporte apenas ao mecanismo de armazenamento InnoDB.Both Single Server and Flexible Server support only the InnoDB storage engine. Certifique-se de que todas as tabelas no banco de dados usem o mecanismo de armazenamento InnoDB quando você estiver carregando dados em seu banco de dado do Azure para MySQL.Make sure that all tables in the database use the InnoDB storage engine when you're loading data into your Azure database for MySQL.

Se o banco de dados de origem usar outro mecanismo de armazenamento, converta para o mecanismo InnoDB antes de migrar o banco de dados.If your source database uses another storage engine, convert to the InnoDB engine prior before you migrate the database. Por exemplo, se você tiver um aplicativo Web ou do WordPress que usa o mecanismo MyISAM, primeiro converta as tabelas migrando os dados para tabelas do 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. Use a cláusula ENGINE=INNODB para definir o mecanismo para criar uma tabela e, em seguida, transfira os dados para a tabela compatível antes da migração.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

Recomendações de desempenho para importação e exportaçãoPerformance recommendations for import and export

Para melhor desempenho de importação e exportação de dados, recomendamos que você faça o seguinte:For optimal data import and export performance, we recommend that you do the following:

  • Crie índices clusterizados e chaves primárias antes de carregar os dados.Create clustered indexes and primary keys before you load data. Carregue os dados na ordem de chave primária.Load the data in primary key order.
  • Atrase a criação de índices secundários até que os dados sejam carregados.Delay the creation of secondary indexes until after the data is loaded.
  • Desabilite as restrições de chave estrangeira antes de carregar os dados.Disable foreign key constraints before you load the data. Desabilitar as verificações de chave estrangeira proporciona ganhos significativos de desempenho.Disabling foreign key checks provides significant performance gains. Habilite as restrições e verifique os dados após o carregamento para garantir a integridade referencial.Enable the constraints and verify the data after the load to ensure referential integrity.
  • Carregar dados em paralelo.Load data in parallel. Evite o excesso de paralelismo que poderá fazer com que você atinja um limite de recursos e monitore os recursos usando as métricas disponíveis no portal do 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.
  • Use tabelas particionadas, quando apropriado.Use partitioned tables when appropriate.

Importar e exportar dados usando o MySQL WorkbenchImport and export data by using MySQL Workbench

Há duas maneiras de exportar e importar dados no MySQL Workbench: no menu de contexto do pesquisador de objetos ou no painel navegador.There are two ways to export and import data in MySQL Workbench: from the object browser context menu or from the Navigator pane. Cada método atende a uma finalidade diferente.Each method serves a different purpose.

Observação

Se você estiver adicionando uma conexão ao servidor único MySQL ou ao servidor flexível (versão prévia) no MySQL Workbench, faça o seguinte:If you're adding a connection to MySQL Single Server or Flexible Server (Preview) on MySQL Workbench, do the following:

  • Para o servidor único MySQL, verifique se o nome de usuário está no formato <username@servername> .For MySQL Single Server, make sure that the user name is in the format <username@servername>.
  • Para servidor flexível MySQL, use <username> apenas.For MySQL Flexible Server, use <username> only. Se você usar <username@servername> o para se conectar, a conexão falhará.If you use <username@servername> to connect, the connection will fail.

Executar os assistentes de importação e exportação de dados da tabela no menu de contexto do pesquisador de objetosRun the table data export and import wizards from the object browser context menu

Captura de tela dos comandos do assistente de exportação e importação do MySQL Workbench no menu de contexto do pesquisador de objetos.

Os assistentes de dados de tabela oferecem suporte a operações de importação e exportação usando arquivos CSV e JSON.The table data wizards support import and export operations by using CSV and JSON files. Os assistentes incluem várias opções de configuração, como separadores, seleção de coluna e seleção de codificação.The wizards include several configuration options, such as separators, column selection, and encoding selection. Você pode executar cada assistente em servidores MySQL locais ou conectados remotamente.You can run each wizard against local or remotely connected MySQL servers. A ação de importação inclui o mapeamento de tabela, coluna e tipo.The import action includes table, column, and type mapping.

Para acessar esses assistentes no menu de contexto do pesquisador de objetos, clique com o botão direito do mouse em uma tabela e selecione Assistente de exportação de dados de tabela ou assistente de importação de dados de tabela.To access these wizards from the object browser context menu, right-click a table, and then select Table Data Export Wizard or Table Data Import Wizard.

O assistente de exportação de dados de tabelaThe table data export wizard

Para exportar uma tabela para um arquivo CSV:To export a table to a CSV file:

  1. Clique com o botão direito do mouse na tabela do banco de dados a ser exportada.Right-click the table of the database to be exported.
  2. Selecione Assistente de Exportação de Dados de Tabela.Select Table Data Export Wizard. Selecione as colunas a serem exportadas, o deslocamento da linha (se houver) e a contagem (se houver).Select the columns to be exported, row offset (if any), and count (if any).
  3. No painel selecionar dados para exportação , selecione Avançar.On the Select data for export pane, select Next. Selecione o caminho do arquivo, o CSV ou o tipo de arquivo JSON.Select the file path, CSV, or JSON file type. Selecione também o separador de linha, o método de delimitar cadeias de caracteres e o separador de campo.Also select the line separator, method of enclosing strings, and field separator.
  4. No painel selecionar local do arquivo de saída , selecione Avançar.On the Select output file location pane, select Next.
  5. No painel exportar dados , selecione Avançar.On the Export data pane, select Next.

O assistente de importação de dados de tabelaThe table data import wizard

Para importar uma tabela de um arquivo CSV:To import a table from a CSV file:

  1. Clique com o botão direito do mouse na tabela do banco de dados a ser importada.Right-click the table of the database to be imported.
  2. Procure e selecione o arquivo CSV a ser importado e, em seguida, selecione Avançar.Look for and select the CSV file to be imported, and then select Next.
  3. Selecione a tabela de destino (nova ou existente), marque ou desmarque a caixa de seleção Truncar tabela antes de importar e, em seguida, selecione Avançar.Select the destination table (new or existing), select or clear the Truncate table before import check box, and then select Next.
  4. Selecione a codificação e as colunas a serem importadas e, em seguida, selecione Avançar.Select the encoding and the columns to be imported, and then select Next.
  5. No painel importar dados , selecione Avançar.On the Import data pane, select Next. O assistente importa os dados.The wizard imports the data.

Executar os assistentes de exportação e importação de dados SQL no painel navegadorRun the SQL data export and import wizards from the Navigator pane

Use um assistente para exportar ou importar dados SQL gerados no MySQL Workbench ou no comando mysqldump.Use a wizard to export or import SQL data that's generated from MySQL Workbench or from the mysqldump command. Você pode acessar os assistentes no painel navegador ou pode selecionar servidor no menu principal.You can access the wizards from the Navigator pane or you can select Server from the main menu.

Exportar dadosExport data

Captura de tela do uso do painel navegador para exibir o painel exportação de dados no MySQL Workbench.

Você pode usar o painel exportação de dados para exportar os dados do MySQL.You can use the Data Export pane to export your MySQL data.

  1. No MySQL Workbench, no painel navegador , selecione exportação de dados.In MySQL Workbench, on the Navigator pane, select Data Export.

  2. No painel exportação de dados , selecione cada esquema que você deseja exportar.On the Data Export pane, select each schema that you want to export.

    Para cada esquema, você pode selecionar objetos ou tabelas de esquema específicos para exportar.For each schema, you can select specific schema objects or tables to export. As opções de configuração incluem exportar para uma pasta de projeto ou um arquivo SQL independente, despejar rotinas e eventos armazenados ou ignorar dados de tabela.Configuration options include export to a project folder or a self-contained SQL file, dump stored routines and events, or skip table data.

    Como alternativa, use exportar um conjunto de resultados para exportar um conjunto de resultados específico no editor SQL para outro formato, como 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.

  3. Selecione os objetos de banco de dados a serem exportados e configure as opções relacionadas.Select the database objects to export, and configure the related options.

  4. Selecione Atualizar para carregar os objetos atuais.Select Refresh to load the current objects.

  5. Opcionalmente, selecione Opções avançadas no canto superior direito para refinar a operação de exportação.Optionally, select Advanced Options at the upper right to refine the export operation. Por exemplo, adicione bloqueios de tabela, use instruções de substituição em vez de inserção e identificadores de aspas com caracteres de acento grave.For example, add table locks, use replace instead of insert statements, and quote identifiers with backtick characters.

  6. Selecione Iniciar exportação para iniciar o processo de exportação.Select Start Export to begin the export process.

Importar dadosImport data

Captura de tela do uso do painel navegador para exibir o painel importação de dados no MySQL Workbench.

Você pode usar o painel importação de dados para importar ou restaurar dados exportados da operação de exportação de dados ou do comando mysqldump.You can use the Data Import pane to import or restore exported data from the data export operation or from the mysqldump command.

  1. No MySQL Workbench, no painel navegador , selecione exportação/restauração de dados.In MySQL Workbench, on the Navigator pane, select Data Export/Restore.
  2. Selecione a pasta do projeto ou o arquivo SQL independente, selecione o esquema para importar ou selecione o botão novo para definir um novo esquema.Select the project folder or self-contained SQL file, select the schema to import into, or select the New button to define a new schema.
  3. Selecione Iniciar importação para iniciar o processo de importação.Select Start Import to begin the import process.

Próximas etapasNext steps