Migrar seu banco de dados do Banco de Dados do Azure para MySQL – Servidor Flexível usando importação e exportação
Este artigo explica duas abordagens comuns de importação e exportação de dados para uma instância de Servidor Flexível do Banco de Dados do Azure para MySQL usando o MySQL Workbench.
Para obter diretrizes de migração detalhadas e abrangentes, confira o tópico Recursos do guia de migração.
Para outros cenários, confira o Guia de Migração de Banco de Dados.
Pré-requisitos
Antes de começar a migrar seu banco de dados MySQL para o SQL Server, é necessário:
- Crie uma instância de Servidor Flexível do Banco de Dados do Azure para MySQL usando o portal do Azure.
- Baixe e instale o MySQL Workbench ou outra ferramenta mySQL de terceiros para importação e exportação.
Criar um banco de dados na instância de Servidor Flexível do Banco de Dados do Azure para MySQL
Crie um banco de dados vazio na instância de Servidor Flexível do Banco de Dados do Azure para MySQL usando MySQL Workbench, Toad ou 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.
Siga as seguintes etapas para se conectar:
No portal do Azure, localize as informações de conexão no painel Visão geral da instância de Servidor Flexível do Banco de Dados do Azure para MySQL.
Adicione as informações de conexão ao MySQL Workbench.
Determinar quando usar técnicas de importação e exportação
Dica
Para cenários em que você deseja despejar e restaurar todo o banco de dados, use a abordagem de despejo e restauração.
Use ferramentas do MySQL para importar e exportar bancos de dados para o Banco de Dados MySQL do Azure nos cenários a seguir. Para outras ferramentas, acesse 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 a serem importadas de um banco de dados MySQL existente para seu banco de dados de Servidor Flexível do Banco de Dados do Azure para MySQL, é melhor usar a técnica de importação e exportação. Ao fazer isso, você pode omitir todas as tabelas desnecessárias da migração, para economizar tempo e recursos. Por exemplo, use a opção
--include-tables
ou--exclude-tables
com mysqlpump e a opção--tables
commysqldump. - Quando estiver movendo os objetos do banco de dados que não sejam tabelas, crie-os explicitamente. Inclua restrições (chave primária, chave estrangeira, índices), exibições, funções, procedimentos, gatilhos e todos os outros objetos do banco de dados que você deseja migrar.
- 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.
Importante
O Banco de Dados do Azure para MySQL com servidor único e o Banco de Dados do Azure para MySQL com Servidor Flexível oferecem suporte ao mecanismo de armazenamento InnoDB. Certifique-se de que todas as tabelas no banco de dados usam o mecanismo de armazenamento InnoDB ao carregar dados na instância de Servidor Flexível do Banco de Dados do Azure para MySQL.
Se o banco de dados de origem usar outro mecanismo de armazenamento, converta no mecanismo InnoDB antes de migrar o banco de dados. 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. 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 dos dados, recomendamos que você faça o seguinte:
- Crie índices clusterizados e chaves primárias antes de carregar os dados. Carregue os dados na ordem de chave primária.
- Atrase a criação de índices secundários até os dados serem carregados.
- Desabilite restrições de chave estrangeira antes de carregar os dados. Desabilitar as verificações de chave estrangeira proporciona ganhos significativos de desempenho. Habilite as restrições e verifique os dados após o carregamento para garantir a integridade referencial.
- Carregar dados em paralelo. 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.
- 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 uma tem uma finalidade diferente.
Observação
Se estiver adicionando uma conexão ao Banco de Dados do Azure para MySQL com servidor único ou o Banco de Dados do Azure para MySQL com Servidor Flexível no MySQL Workbench, faça o seguinte:
- Para o Banco de Dados do Azure para MySQL com servidor único, certifique-se de que o nome de usuário esteja no formato <nomedeusuário@nomedeservidor>.
- Para o Banco de Dados do Azure para MySQL com Servidor Flexível, use apenas <nome de usuário>. Se você usar <username@servername> para se conectar, a conexão falhará.
Assistentes de importação e exportação de dados de tabela no menu de contexto do pesquisador de objetos
Os assistentes de dados de tabela dão suporte à importação e exportação de operações usando arquivos CSV e JSON. Eles incluem várias opções de configuração, como separadores, seleção de coluna e seleção de codificação. Execute cada assistente em MySQL Servers locais ou remotamente conectados. A ação de importação inclui o 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 de exportação de dados de tabela ouassistente de importação de dados de tabela.
Assistente de Exportação de Dados de Tabela
Para exportar uma tabela para um arquivo CSV:
- Clique com o botão direito do mouse na tabela do banco de dados a ser exportada.
- Selecione Assistente de Exportação de Dados de Tabela. Selecione as colunas a serem exportadas, o deslocamento da linha (se houver) e a contagem (se houver).
- No painel Selecionar dados para exportação, clique em Avançar. Selecione o caminho do arquivo, o CSV ou o tipo de arquivo JSON. Selecione também o separador de linha, o método de delimitar cadeias de caracteres e o separador de campo.
- No painel Selecionar local do arquivo de saída, clique em Avançar.
- No painel exportar dados, selecione Avançar.
Assistente de Importação de Dados de Tabela
Para importar uma tabela de um arquivo CSV:
- Clique com o botão direito do mouse na tabela do banco de dados a ser importada.
- Procure e selecione o arquivo CSV a ser importado e, em seguida, clique no botão Avançar.
- Selecione a tabela de destino (nova ou existente) e marque ou desmarque a caixa de seleção Truncar tabela antes da importação e, em seguida, selecione Avançar.
- Selecione a codificação e as colunas a serem importadas e selecione o botão Avançar.
- No painel importar dados, selecione Avançar. O assistente importa os dados.
Assistentes de exportação e importação de dados do SQL no painel Navegador
Use um assistente para exportar ou importar o SQL gerado no MySQL Workbench ou gerado com o comando mysqldump. Você pode acessar os assistentes no painel navegador ou pode selecionar servidor no menu principal.
Exportar dados
Use a guia Exportação de Dados para exportar os dados do MySQL.
No MySQL Workbench, no painel navegador, selecione exportação de dados.
No painel exportação de dados, selecione cada esquema que você deseja exportar.
Para cada esquema, você pode selecionar objetos ou tabelas de esquema específicos para exportar. As opções de configuração incluem a exportação para uma pasta de projeto ou um arquivo SQL independente, despejo de rotinas e eventos armazenados ou ignorar os dados da tabela.
Como alternativa, use Exportar um Conjunto de Resultados para exportar um conjunto de resultados específico no editor de SQL para outro formato como CSV, JSON, HTML e XML.
Selecione os objetos de banco de dados a serem exportados e configure as opções relacionadas.
Clique em Atualizar para carregar os objetos atuais.
Também há a opção de selecionar Opções avançadas no canto superior direito para refinar a operação de exportação. Por exemplo, para adicionar bloqueios de tabela, use instruções de
replace
em vez deinsert
e identificadores de aspas com caracteres backtick.Clique em Iniciar Exportação para iniciar o processo de exportação.
Importar dados
Use a guia Importação de Dados para importar ou restaurar os dados exportados da operação de exportação de dados ou do comando mysqldump.
- No MySQL Workbench, no painel Navegador, selecione Importação/Restauração de dados.
- Selecione a pasta do projeto ou o arquivo SQL autossuficiente, selecione o esquema para importar ou selecione o botão Novo para definir um novo esquema.
- Clique em Iniciar Importação para iniciar o processo de importação.