MyDumper - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

MyDumper

MyDumper(GitHub) é uma ferramenta de migração lógica de código aberto que consiste em dois utilitários:

  • MyDumper exporta um backup consistente dos bancos de dados MySQL. Ele é compatível com o backup do banco de dados usando vários threads paralelos, até um thread por núcleo de CPU disponível.

  • myloader lê os arquivos de backup criados por MyDumper, se conecta à instância do banco de dados de destino e, em seguida, restaura o banco de dados.

O diagrama a seguir mostra as etapas de alto nível envolvidas na migração de um banco de dados usando um arquivo de MyDumper backup. Esse diagrama de arquitetura inclui três opções para migrar o arquivo de backup do data center on-premises para uma instância do EC2 na Nuvem AWS.

Diagrama da migração de um arquivo de MyDumper backup e do uso do myloader para restaurá-lo na instância de banco de dados. AWS

A seguir estão as etapas a serem usadas MyDumper para migrar um banco de dados para o Nuvem AWS:

  1. Instale MyDumper e meu carregador. Para obter instruções, consulte Como instalar mydumper/myloader (). GitHub

  2. Use MyDumper para criar um backup do banco de dados MySQL ou MariaDB de origem. Para obter instruções, consulte Como usar MyDumper.

  3. Mova o arquivo de backup para uma instância do EC2 no Nuvem AWS usando uma das seguintes abordagens:

    Abordagem 3A — Monte um sistema de arquivos Amazon FSx ou Amazon Elastic File System (Amazon EFS) no servidor local que executa sua instância de banco de dados. Você pode usar AWS Direct Connect ou Site-to-Site VPN para estabelecer a conexão. Você pode fazer backup diretamente do banco de dados no compartilhamento de arquivos montado, ou pode realizar o backup em duas etapas, fazendo backup do banco de dados em um sistema de arquivos local e, em seguida, carregando-o no volume do FSx ou EFS montado. Em seguida, monte o sistema de arquivos Amazon FSx ou Amazon EFS, que também é montado no servidor on-premises, em uma instância do EC2.

    Abordagem 3B — Use o AWS CLI AWS SDK ou a API REST do Amazon S3 para mover diretamente o arquivo de backup do servidor local para um bucket do S3. Se o bucket do S3 de destino estiver em um Região da AWS local distante do data center, você poderá usar o Amazon S3 Transfer Acceleration para transferir o arquivo mais rapidamente. Use o sistema de arquivos s3fs-fuse para montar o bucket do S3 na instância do EC2.

    Abordagem 3C: instale o agente do AWS DataSync no data center on-premises e use o AWS DataSync para mover o arquivo de backup para um bucket do Amazon S3. Use o sistema de arquivos s3fs-fuse para montar o bucket do S3 na instância do EC2.

    nota

    Você também pode usar o Gateway de Arquivos do Amazon S3 para transferir os grandes arquivos de backup do banco de dados para um bucket do S3 na Nuvem AWS. Para obter mais informações, consulte Uso do Gateway de Arquivos do Amazon S3 para transferir arquivos de backup neste guia.

  4. Use o myloader para restaurar o backup na instância do banco de dados de destino. Para obter instruções, consulte myloader usage ()GitHub.

  5. (Opcional) Você pode configurar a replicação entre o banco de dados de origem e a instância do banco de dados de destino. Você pode usar a replicação de log binário (binlog) para reduzir o tempo de inatividade. Para saber mais, consulte:

Vantagens

  • MyDumper suporta paralelismo usando multiencadeamento, o que melhora a velocidade das operações de backup e restauração.

  • MyDumper evita rotinas caras de conversão de conjuntos de caracteres, o que ajuda a garantir que o código seja altamente eficiente.

  • MyDumper simplifica a visualização e a análise de dados usando o despejo de arquivos separados para tabelas e metadados.

  • MyDumper mantém instantâneos em todos os segmentos e fornece posições precisas dos registros primários e secundários.

  • Você pode usar expressões regulares compatíveis com Perl (PCRE) para especificar se deseja incluir ou excluir tabelas ou bancos de dados.

Limitações

  • Você poderá escolher outra ferramenta se seus processos de transformação de dados exigirem arquivos de despejo intermediários em formato simples, em vez do formato SQL.

  • O myloader não importa contas de usuário do banco de dados automaticamente. Se você estiver restaurando o backup no Amazon RDS ou no Aurora, recrie os usuários com as permissões necessárias. Para obter mais informações, consulte Privilégios da conta de usuário mestre na documentação do Amazon RDS. Se você estiver restaurando o backup em uma instância de banco de dados do Amazon EC2, poderá exportar manualmente as contas de usuário do banco de dados de origem e importá-las para a instância do EC2.

Práticas recomendadas

  • Configure MyDumper para dividir cada tabela em segmentos, como 10.000 linhas em cada segmento, e gravar cada segmento em um arquivo separado. Isso possibilita a importação de dados em paralelo posteriormente.

  • Se você estiver usando o mecanismo InnoDB, use a opção --trx-consistency-only para minimizar o bloqueio.

  • O uso MyDumper para exportar o banco de dados pode exigir muita leitura, e o processo pode afetar o desempenho geral do banco de dados de produção. Se você tiver uma instância de banco de dados de réplica, execute o processo de exportação da réplica. Antes de executar a exportação da réplica, interrompa o thread SQL de replicação. Isso ajuda o processo de exportação a ser executado mais rapidamente.

  • Não exporte o banco de dados durante o horário comercial de pico. Evitar os horários de pico pode estabilizar a performance do seu banco de dados primário de produção durante a exportação do banco de dados.

  • O Amazon RDS para MySQL não é compatível com o plug-in keyring_aws. Para obter mais informações, consulte Problemas conhecidos e limitações. Para migrar as tabelas criptografadas on-premises para a instância do Amazon RDS, nos scripts de backup, você precisa remover ENCRYPTION ou DEFAULT ENCRYPTION da sintaxe CREATE TABLE. Para criptografia em repouso, você pode usar uma chave do AWS Key Management Service (AWS KMS). Para ter mais informações, consulte Criptografar recursos do Amazon RDS.