Partilhar via


Migrar seu Banco de Dados do Azure para MySQL - Banco de dados Servidor Flexível usando importação e exportação

Este artigo explica duas abordagens comuns para importar e exportar dados para um Banco de Dados do Azure para instância do Servidor Flexível MySQL usando o MySQL Workbench.

Para obter orientações detalhadas e abrangentes sobre migração, consulte os recursos do guia de migração.

Para outros cenários de migração, consulte o Guia de Migração de Banco de Dados.

Pré-requisitos

Antes de começar a migrar seu banco de dados MySQL, você precisa:

Criar um banco de dados no Banco de Dados do Azure para a instância do Servidor Flexível MySQL

Crie um banco de dados vazio no Banco de Dados do Azure para a instância do Servidor Flexível MySQL usando o MySQL Workbench, Toad ou Navicat. O banco de dados pode ter o mesmo nome que o banco de dados que contém os dados despejados ou você pode criar um banco de dados com um nome diferente.

Para se conectar, faça o seguinte:

  1. No portal do Azure, procure as informações de conexão no painel Visão geral da sua instância do Servidor Flexível do Banco de Dados do Azure para MySQL.

    Captura de tela das informações de conexão da instância do Banco de Dados do Azure para Servidor Flexível MySQL no portal do Azure.

  2. Adicione as informações de conexão ao MySQL Workbench.

    Captura de tela da cadeia de conexão do MySQL Workbench.

Determinar quando usar técnicas de importação e exportação

Gorjeta

Para cenários em que você deseja despejar e restaurar todo o banco de dados, use a abordagem de despejo e restauração .

Nos cenários a seguir, use as ferramentas MySQL para importar e exportar bancos de dados para seu banco de dados MySQL. 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.

  • Quando você precisa escolher seletivamente algumas tabelas para importar de um banco de dados MySQL existente para seu banco de dados do Azure Database for MySQL Flexible Server, é melhor usar a técnica de importação e exportação. Ao fazer isso, você pode omitir quaisquer tabelas desnecessárias da migração para economizar tempo e recursos. Por exemplo, use o --include-tables switch ou --exclude-tables com mysqlpump, e o --tables switch com mysqldump.
  • Quando você estiver movendo objetos de banco de dados diferentes de tabelas, crie explicitamente esses objetos. Inclua restrições (chave primária, chave estrangeira e índices), exibições, funções, procedimentos, gatilhos e quaisquer outros objetos de banco de dados que você deseja migrar.
  • Quando você 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.

Importante

Tanto o Banco de Dados do Azure para servidor único MySQL quanto o Banco de Dados do Azure para Servidor Flexível MySQL oferecem suporte apenas ao mecanismo de armazenamento InnoDB. Certifique-se de que todas as tabelas no banco de dados usam o mecanismo de armazenamento InnoDB quando você estiver carregando dados em sua instância do Banco de Dados do Azure para o Servidor Flexível 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. Por exemplo, se você tiver um WordPress ou aplicativo Web que usa o mecanismo MyISAM, primeiro converta as tabelas migrando os dados para tabelas InnoDB. 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.

INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns

Recomendações de desempenho para importação e exportação

Para um desempenho ideal de importação e exportação de dados, recomendamos que você faça o seguinte:

  • Crie índices clusterizados e chaves primárias antes de carregar dados. Carregue os dados na ordem da chave primária.
  • Atrase a criação de índices secundários até que os dados sejam carregados.
  • Desative as restrições de chave estrangeira antes de carregar os dados. A desativação de verificações de chaves estrangeiras proporciona ganhos de desempenho significativos. Habilite as restrições e verifique os dados após a carga para garantir a integridade referencial.
  • Carregue dados em paralelo. Evite muito paralelismo que faria com que você atingisse um limite de recursos e monitore recursos usando as métricas disponíveis no portal do Azure.
  • Use tabelas particionadas quando apropriado.

Importar e exportar dados usando o MySQL Workbench

Há duas maneiras de exportar e importar dados no MySQL Workbench: no menu de contexto do navegador de objetos ou no painel Navegador. Cada método serve um propósito diferente.

Nota

Se você estiver adicionando uma conexão ao Banco de Dados do Azure para servidor único MySQL ou ao Banco de Dados do Azure para Servidor Flexível MySQL no MySQL Workbench, faça o seguinte:

  • Para o Banco de Dados do Azure para servidor único MySQL, verifique se o nome de usuário está no formato <username@servername>.
  • Para o Banco de Dados do Azure para Servidor Flexível MySQL, use <apenas o nome> de usuário. Se você usar <username@servername> para se conectar, a conexão falhará.

Execute os assistentes de exportação e importação de dados de tabela no menu de contexto do pesquisador de objetos

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

Os assistentes de dados de tabela suportam operações de importação e exportação usando arquivos CSV e JSON. Os assistentes incluem várias opções de configuração, como separadores, seleção de colunas e seleção de codificação. Você pode executar cada assistente em servidores MySQL locais ou conectados remotamente. A ação de importação inclui mapeamento de tabela, coluna e tipo.

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 para Exportação de Dados de Tabela ou Assistente de Importação de Dados de Tabela.

O assistente de exportação de dados de tabela

Para exportar uma tabela para um arquivo CSV:

  1. Clique com o botão direito do mouse na tabela do banco de dados a ser exportado.
  2. Selecione Assistente para Exportação de Dados de Tabela. Selecione as colunas a serem exportadas, o deslocamento da linha (se houver) e a contagem (se houver).
  3. No painel Selecionar dados para exportação, selecione Avançar. Selecione o caminho do arquivo, CSV ou tipo de arquivo JSON. Selecione também o separador de linha, o método de delimitação de cadeias de caracteres e o separador de campo.
  4. No painel Selecionar local do arquivo de saída, selecione Avançar.
  5. No painel Exportar dados, selecione Avançar.

O assistente de importação de dados de tabela

Para importar uma tabela de um arquivo CSV:

  1. Clique com o botão direito do mouse na tabela do banco de dados a ser importado.
  2. Procure e selecione o arquivo CSV a ser importado e, em seguida, selecione Avançar.
  3. Selecione a tabela de destino (nova ou existente), marque ou desmarque a caixa de seleção Truncar tabela antes de importar e selecione Avançar.
  4. Selecione a codificação e as colunas a serem importadas e, em seguida, selecione Avançar.
  5. No painel Importar dados, selecione Avançar. O assistente importa os dados.

Execute os assistentes de exportação e importação de dados SQL a partir do painel Navegador

Use um assistente para exportar ou importar dados SQL gerados a partir do MySQL Workbench ou do comando mysqldump. Pode aceder aos assistentes a partir do painel Navegador ou pode selecionar Servidor no menu principal.

Exportar Dados

Captura de tela mostrando o 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 seus dados MySQL.

  1. No MySQL Workbench, no painel Navegador , selecione Exportação de dados.

  2. No painel Exportação de Dados, selecione cada esquema que você deseja exportar.

    Para cada esquema, você pode selecionar objetos de esquema específicos ou tabelas para exportar. 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.

    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.

  3. Selecione os objetos de banco de dados a serem exportados e configure as opções relacionadas.

  4. Selecione Atualizar para carregar os objetos atuais.

  5. Opcionalmente, selecione Opções avançadas no canto superior direito para refinar a operação de exportação. Por exemplo, adicione bloqueios de tabela, use replace em vez de insert instruções e aspas identificadores com caracteres de backtick.

  6. Selecione Iniciar exportação para iniciar o processo de exportação.

Importar dados

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.

  1. No MySQL Workbench, no painel Navegador , selecione Importação/Restauração de Dados.
  2. Selecione a pasta do projeto ou o arquivo SQL independente, selecione o esquema para o qual importar ou selecione o botão Novo para definir um novo esquema.
  3. Selecione Iniciar importação para iniciar o processo de importação.