Explore as opções de ferramentas de migração

Concluído

Há várias ferramentas que você pode usar para planejar e migrar dados para um servidor flexível do Banco de Dados do Azure para MySQL. Cada opção tem seus prós e contras, conforme explicado nas seções a seguir.

Descobrir e avaliar suas cargas de trabalho do MySQL usando as Migrações para Azure

As Migrações para Azure oferecem um hub centralizado para descobrir, avaliar e migrar a infraestrutura local, incluindo servidores, bancos de dados e aplicativos Web hospedados em ambientes físicos, para destinos de Plataforma como Serviço (PaaS) e Infraestrutura como Serviço (IaaS) do Azure em escala. A funcionalidade de descoberta e avaliação do MySQL nas Migrações para Azure (versão prévia) ajuda você durante a fase de planejamento, permitindo que você:

  • Descubra instâncias do MySQL e seus atributos em seu ambiente,
  • Avaliar a sua preparação para migração para o Banco de Dados do Azure para MySQL – Servidor Flexível e
  • Receba recomendações sobre o SKU de computação e armazenamento apropriado para hospedar cargas de trabalho MySQL no Banco de Dados do Azure para MySQL – Servidor Flexível, juntamente com os custos associados.

CLI de Importação do Banco de Dados do Azure para MySQL

O Banco de Dados do Azure para MySQL Import é um comando CLI único que permite migrar perfeitamente sua carga de trabalho MySQL local ou de Máquina Virtual (VM) para o Banco de Dados do Azure para MySQL – Servidor Flexível. Oferece um caminho de migração simples e rápido. O comando provisiona o servidor flexível de destino configurado de acordo com as entradas do usuário e, em seguida, restaura o arquivo de backup físico (obtido usando o Percona XtraBackup) do servidor de origem armazenado na conta de armazenamento de Blobs do Azure para a instância do Servidor Flexível de destino.

O comando CLI é: az mysql flexible-server --import

Ao avaliar a CLI de importação, leve em consideração as considerações a seguir.

  • A configuração do servidor de origem deve incluir esses parâmetros e valores:

    lower_case_table_names = 1
    innodb_file_per_table = ON
    
  • O nome do tablespace do sistema deve ser ibdata1 com tamanho igual a pelo menos 12 MB (o padrão do MySQL).

  • Somente o mecanismo InnoDB é compatível para migração.

  • Certos elementos no servidor de origem, como a configuração (firewalls, usuários, privilégios), não são migrados.

  • A alta disponibilidade (HA) é desabilitada durante a migração para otimizar o desempenho. Certifique-se de reabilitar o HA após a conclusão da migração.

Serviço de Migração de Banco de Dados do Azure

O Serviço de Migração de Banco de Dados do Azure é um serviço totalmente gerenciado que ajuda você a simplificar, orientar e automatizar as suas migrações de banco de dados para plataformas de dados do Azure.

O Serviço de Migração de Banco de Dados do Azure funciona criando e executando projetos de migração repetíveis. As fontes variam de cargas de trabalho locais a cargas de trabalho baseadas na nuvem, como o Amazon RDS MySQL. Embora o Serviço de Migração de Banco de Dados do Azure seja tecnicamente uma ferramenta de migração offline, utiliza o MySQLbinlog para realizar migrações online com tempo de inatividade quase nulo.

mysqldump

O utilitário cliente mysqldump, normalmente instalado junto com o MySQL, é uma ferramenta de backup de banco de dados. Você pode usar mysqldump para despejar o esquema e o conteúdo de um banco de dados de origem em instruções SQL. Você pode então executar essas instruções como estão para restaurar o conteúdo total ou parcial no banco de dados de destino.

Para grandes conjuntos de dados, restaurar o dump executando instruções SQL pode ter um desempenho insatisfatório. Por exemplo, os índices são atualizados uma instrução por vez, o que pode sobrecarregar o desempenho de E/S do disco. Por isso, você pode acelerar uma migração combinando mysqldump com ferramentas como mydumper e myloader, que são otimizadas para migração de dados em massa. Use mysqldump para recriar o esquema do banco de dados, que é uma zona de destino no banco de dados de destino, para acomodar os dados que estão sendo importados.

Às vezes, você precisa personalizar a transferência de dados de migração. Talvez você queira exportar um subconjunto de dados para testes ou substituir os dados do banco de dados de destino para um cliente. Você pode até mesmo modificar os dados, como a redação de dados pessoais para depurar um problema em um banco de dados de teste, antes de migrá-los.

Nesses cenários, mysqldump oferece maior flexibilidade. Como exporta um arquivo contendo instruções SQL, você pode escolher como modificar os dados antes de executar as instruções no servidor de destino.

mydumpr e myloader

mydumper e myloader fazem parte do pacote MyDumper, uma ferramenta de backup MySQL de código aberto. Ao contrário da ferramenta mysqldump que envia todo o esquema para instruções SQL para serem executadas novamente linearmente, as ferramentas MyDumper aproveitam o paralelismo e fornecem benefícios como o uso de arquivos separados por tabela e formatos legíveis por humanos, bem como a manutenção de binários de origem e destino precisos. posições de registro.

Para migrar grandes bancos de dados, recomenda-se mydumper e myloader porque essas ferramentas oferecem desempenho 10 vezes ou mais usando paralelismo.

As ferramentas estão disponíveis como versões binárias para Linux como pacotes rpm e deb, e para macOS via Homebrew. Em outras plataformas, é necessário compilar as ferramentas a partir de código-fonte, o que introduz complexidade.

Workbench do MySQL

MySQL Workbench fornece uma interface gráfica de usuário (GUI) para trabalhar com MySQL e oferece acesso a muitas ferramentas, incluindo uma para migração de banco de dados. MySQL Workbench está disponível nas edições comunitária e comercial do MySQL, conforme indicado na lista MySQL Workbench Features.

MySQL binlog

A mysqlbinlog ferramenta utiliza o log binário do MySQL, que registra eventos de alteração do banco de dados, como modificações de tabelas ou inserções, atualizações e exclusões de dados. Cada alteração é identificada usando uma posição crescente de forma incremental, e você pode inspecionar e manipular cada alteração usando a ferramenta mysqlbinlog.

Você pode usar o log binário como parte de migrações online e offline:

  • Nas migrações online, o log binário é o mecanismo principal para replicar alterações de dados em tempo real da origem para o destino.
  • Com migrações offline, o log binário permite migrações incrementais gerando alterações com precisão desde um instantâneo migrado anteriormente.

A manutenção de log binário requer recursos adicionais de processamento e armazenamento.