Migrar o MySQL local para o Banco de Dados do Azure para MySQL: Métodos de Migração
Explorar os vários métodos para migrar bancos de dados MySQL de ambientes locais para o Banco de Dados do Azure para MySQL é essencial para selecionar a abordagem mais adequada às suas necessidades. Este artigo aprofunda os diferentes métodos de migração disponíveis, fornecendo uma análise detalhada das vantagens e desafios potenciais de cada técnica. Ao compreender as nuances da migração offline, migração online e abordagens híbridas, você pode tomar decisões informadas que se alinham com os objetivos e requisitos técnicos da sua organização. Se você tem como objetivo um tempo de inatividade mínimo, eficiência de custos ou uma transição perfeita, este guia fornece o conhecimento necessário para escolher o melhor método de migração e executá-lo de forma eficaz.
Pré-requisitos
Migrar o MySQL local para o Banco de Dados do Azure para MySQL: Planejamento
Descrição geral
Obter os dados da origem para o destino requer o uso de ferramentas ou recursos do MySQL para realizar a migração.
É importante concluir todas as etapas de avaliação e planejamento antes de iniciar as próximas etapas. As decisões e os dados coletados são o caminho de migração e as dependências de seleção de ferramentas.
Exploramos as seguintes ferramentas comumente usadas nesta seção:
MySQL Workbench
mysqldump
mydumper e myloader
Replicação de entrada de dados (binlog)
MySQL Workbench
O MySQL Workbench fornece uma rica experiência GUI que permite que desenvolvedores e administradores projetem, desenvolvam e gerenciem suas instâncias do MySQL.
A versão mais recente do MySQL Workbench fornece recursos sofisticados de migração de objetos ao mover um banco de dados de uma origem para o destino.
Importação e exportação de dados
O MySQL Workbench fornece uma interface do usuário baseada em assistente para fazer exportação e importação total ou parcial de tabelas e objetos de banco de dados. Para obter um exemplo de como usar o MySQL Workbench, consulte Migrar seu banco de dados MySQL usando importação e exportação.
Despejar e restaurar (mysqldump)
mysqldump
é normalmente fornecido como parte da instalação do MySQL. É um utilitário cliente que pode ser executado para criar backups lógicos que equivalem a um conjunto de instruções SQL que podem ser reproduzidas para reconstruir o banco de dados até um ponto no tempo. mysqldump
não pretende ser uma solução rápida ou escalável para fazer backup ou migrar grandes quantidades de dados. A execução de um grande conjunto de instruções de inserção SQL pode ter um desempenho insatisfatório devido à E/S de disco necessária para atualizar índices. No entanto, quando combinado com outras ferramentas que exigem o esquema original, mysqldump
é uma ótima ferramenta para gerar o banco de dados e esquemas de tabela. Os esquemas podem criar o ambiente da zona de aterrissagem de destino.
O mysqldump
utilitário fornece recursos úteis durante a fase de migração de dados. As considerações de desempenho precisam ser avaliadas antes de executar o utilitário. Consulte Considerações sobre desempenho.
mydumper e myloader
Ambientes com grandes bancos de dados que exigem migração rápida devem usar mydumper e myloader. Essas ferramentas são escritas em C++ e utilizam técnicas multi-threaded para enviar os dados o mais rápido possível para a instância MySQL de destino. mydumper
e myloader
tirar partido do paralelismo e pode acelerar a migração por um fator de 10x ou mais.
As versões binárias das ferramentas disponíveis para download público foram compiladas para Linux. Para executar essas ferramentas no Windows, os projetos de código aberto precisariam ser recompilados. Compilar o código-fonte e criar versões não é uma tarefa trivial para a maioria dos usuários.
Replicação de entrada de dados (binlog)
Semelhante a outros sistemas de gerenciamento de banco de dados, o MySQL fornece um recurso de replicação de log chamado replicação binlog. O binlog
recurso de replicação ajuda na migração de dados e na criação de réplicas de leitura.
Utilize a replicação binlog para migrar seus dados para o Banco de Dados do Azure para MySQL em um cenário online. A replicação de dados ajuda a reduzir o tempo de inatividade necessário para fazer as alterações finais nos dados de destino.
Para usar o binlog
recurso de replicação, há alguns requisitos de configuração :
Em seguida, o servidor mestre é recomendado para usar o mecanismo MySQL InnoDB. Se você estiver usando um mecanismo de armazenamento diferente do InnoDB, precisará migrar essas tabelas para o InnoDB.
Os usuários de migração devem ter permissões para configurar o log binário e criar novos usuários no servidor mestre.
Se o servidor mestre tiver SSL habilitado, verifique se o certificado de CA SSL fornecido para o domínio foi incluído no procedimento armazenado mysql.az_replication_change_master. Consulte os exemplos a seguir e o parâmetro master_ssl_ca.
Confirme se o endereço IP do servidor mestre foi adicionado às regras de firewall do servidor de réplica da Base de Dados do Azure para MySQL. Atualize as regras de firewall com o portal do Azure ou a CLI do Azure.
Verifique se o computador que aloja o servidor mestre permite tráfego de entrada e de saída na porta 3306.
Verifique se o servidor mestre tem um endereço IP acessível (público ou privado) da origem para os destinos.
Para executar uma migração usando replicação, consulte Como configurar o Banco de Dados do Azure para Replicação de Dados MySQL para obter detalhes.
O binlog
método de replicação tem altos requisitos de CPU e armazenamento extra. Os usuários de migração devem testar a carga colocada no sistema de origem durante as migrações on-line e determinar se ela é aceitável.
Azure Database Migration Service (DMS)
Os Serviços de Migração de Banco de Dados do Azure (DMS) são uma ferramenta baseada em nuvem do Azure que permite que os administradores acompanhem as várias configurações de migração e as reutilizem, se necessário. O DMS funciona criando projetos de migração com configurações que apontam para várias fontes e destinos. Ele suporta migrações offline. Além disso, ele suporta cargas de trabalho de dados locais e cargas de trabalho baseadas em nuvem, como o Amazon Relational Database Service (RDS) MySQL.
Embora o serviço DMS seja uma ferramenta on-line, ele depende do binlog
recurso de replicação do MySQL para concluir suas tarefas. Atualmente, o DMS automatiza parcialmente o processo de migração offline. O DMS requer a geração e a aplicação do esquema correspondente no Banco de Dados do Azure de destino para a instância do MySQL. Os esquemas podem ser exportados usando o mysqldump
utilitário cliente.
Migração mais rápida/mínima de tempo de inatividade
Há muitos caminhos para migrar os dados. Decidir qual caminho seguir depende do conjunto de habilidades da equipe de migração e da quantidade de tempo de inatividade que os proprietários do banco de dados e do aplicativo estão dispostos a aceitar. Algumas ferramentas suportam abordagens de migração de dados paralelos multi-threaded, enquanto outras ferramentas foram projetadas apenas para migrações simples de dados de tabela.
O caminho mais rápido e completo é usar binlog
a replicação (diretamente com o MySQL ou via DMS), mas ela vem com os custos de adicionar chaves primárias.
Tabela de Decisão
Há muitos caminhos que a WWI pode tomar para migrar suas cargas de trabalho do MySQL. Nós fornecemos uma tabela dos caminhos potenciais e as vantagens e desvantagens de cada um:
Objetivo | Description | Ferramenta | Pré-requisitos | Vantagens | Desvantagens |
---|---|---|---|---|---|
Migração mais rápida possível | Abordagem paralela | mydumper e myloader | Linux | Altamente paralelizado | Limitação de alvos |
Migração online | Mantenha a fonte ativa pelo maior tempo possível | binlog | Nenhuma | Integração total | Processamento e armazenamento extra |
Migração offline | Mantenha a fonte ativa pelo maior tempo possível | Database Migration Service (DMS) | Nenhuma | Processo repetível | Limitado apenas a dados, suporta todas as versões do MySQL |
Migração offline altamente personalizada | Exportar objetos seletivamente | mysqldump | Nenhuma | Altamente personalizável | Manual |
Migração Offline Semi-automatizada | Exportação e importação baseadas em interface do usuário | MySQL Workbench | Transferir e Instalar | Semi-automatizado | Apenas conjuntos comuns de switches são suportados |
Cenário da Primeira Guerra Mundial
A Primeira Guerra Mundial selecionou seu banco de dados de conferências como sua primeira carga de trabalho de migração. A carga de trabalho foi escolhida porque tinha o menor risco e o maior tempo de inatividade disponível devido à lacuna na programação anual da conferência. Além disso, com base na avaliação da equipe de migração, eles determinaram que tentaram executar uma migração offline usando o MySQL Workbench.
Lista de verificação de métodos de migração
Certifique-se de que o método certo esteja selecionado, dados os ambientes de destino e de origem.
Certifique-se de que o método possa atender aos requisitos de negócios.
Sempre verifique se a carga de trabalho de dados suporta o método.