Usando um banco de dados compatível com MySQL como fonte para migrações de dados homogêneas em AWS DMS - AWS Database Migration Service

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á.

Usando um banco de dados compatível com MySQL como fonte para migrações de dados homogêneas em AWS DMS

É possível utilizar um banco de dados compatível com MySQL (MySQL ou MariaDB) como origem da Migração de dados homogênea no AWS DMS. Nesse caso, o provedor de dados de origem pode ser um banco de dados on-premises, Amazon EC2, RDS para MySQL ou MariaDB.

Para executar migrações de dados homogêneas, utilize um usuário do banco de dados com privilégios SELECT para todas as tabelas de origem e objetos secundários para replicação. Para tarefas de captura de dados de alteração (CDC), esse usuário também deve ter privilégios REPLICATION CLIENT (BINLOG MONITOR para versões do MariaDB posteriores à 10.5.2) e privilégios REPLICATION SLAVE. Para uma migração de dados de carga máxima, esses dois privilégios não são necessários.

Utilize o script a seguir para criar um usuário de banco de dados com as permissões necessárias no banco de dados MySQL. Execute as GRANT consultas para todos os bancos de dados para os quais você migra. AWS

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'your_user'@'%'; GRANT SELECT, RELOAD, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON *.* TO 'your_user'@'%'; GRANT BACKUP_ADMIN ON *.* TO 'your_user'@'%';

No exemplo anterior, substitua cada espaço reservado para entrada de usuário pelas suas próprias informações. Se a versão do banco de dados MySQL de origem for inferior à 8.0, é possível ignorar o comando GRANT BACKUP_ADMIN.

Utilize o script a seguir para criar um usuário de banco de dados com as permissões necessárias no banco de dados MariaDB. Execute as consultas GRANT para todos os bancos de dados para os quais você migra. AWS

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION SLAVE, BINLOG MONITOR, SHOW VIEW ON *.* TO 'your_user'@'%';

No exemplo anterior, substitua cada espaço reservado para entrada de usuário pelas suas próprias informações.

As seções a seguir descrevem os pré-requisitos de configuração específicos para bancos de dados MySQL autogerenciados e gerenciados pela AWS.

Utilizar um banco de dados compatível com MySQL autogerenciado como origem para migrações de dados homogêneas

Esta seção descreve como configurar os bancos de dados compatíveis com MySQL hospedados on-premises ou em instâncias do Amazon EC2.

Escolha a versão do banco de dados MySQL ou MariaDB de origem. Certifique-se de que seja AWS DMS compatível com a versão de origem do banco de dados MySQL ou MariaDB, conforme descrito em. Origens para migrações de dados homogêneas do DMS

Para utilizar a CDC, ative o registro em log binário. Para habilitar o registro em log binário, os parâmetros a seguir devem ser configurados nos arquivos my.ini (Windows) ou my.cnf (UNIX) do banco de dados MySQL ou MariaDB.

Parâmetro

Valor

server-id

Defina este parâmetro com um valor maior ou igual a 1.

log-bin

Defina a rota para o arquivo de log binário, por exemplo log-bin=E:\MySql_Logs\BinLog. Não inclua a extensão do arquivo.

binlog_format

Defina este parâmetro como ROW. Essa configuração é recomendável durante a replicação porque, em certos casos, quando binlog_format está definido como STATEMENT, ele pode causar inconsistência ao replicar dados para o destino. O mecanismo de banco de dados também grava dados inconsistentes semelhantes no destino quando binlog_format está definido como MIXED, porque o mecanismo de banco de dados muda automaticamente para o registro em log baseado em STATEMENT.

expire_logs_days

Defina este parâmetro com um valor maior ou igual a 1. Para evitar o uso excessivo de espaço em disco, recomendamos que você não utilize o valor padrão de 0.

binlog_checksum

Defina este parâmetro como NONE.

binlog_row_image

Defina este parâmetro como FULL.

log_slave_updates

Defina este parâmetro como TRUE se estiver utilizando uma réplica do MySQL ou do MariaDB como origem.

Usando um banco AWS de dados compatível com MySQL gerenciado como fonte para migrações de dados homogêneas em AWS DMS

Esta seção descreve como configurar as instâncias de banco de dados Amazon RDS para MySQL e Amazon RDS para MariaDB.

Ao usar um banco AWS de dados MySQL ou MariaDB gerenciado como fonte para migrações AWS DMS de dados homogêneas, verifique se você tem os seguintes pré-requisitos para o CDC:

  • Para ativar os logs binários para o RDS para MySQL e MariaDB, ative backups automáticos no nível da instância. Para ativar logs binários para um cluster do Aurora MySQL, altere a variável binlog_format no grupo de parâmetros. Não é necessário ativar backups automáticos em um cluster do Aurora MySQL.

    Próximo, defina o parâmetro binlog_format como ROW.

    Para obter mais informações sobre como configurar backups automáticos, consulte Ativar backups automáticos no Guia do usuário do Amazon RDS.

    Para obter mais informações sobre como configurar o registro em log binário para um banco de dados Amazon RDS para MySQL ou MariaDB, consulte Configuração do formato do registro em log binário no Guia do usuário do Amazon RDS.

    Para obter mais informações sobre como configurar o registro em log binário para um cluster do Aurora MySQL, consulte Como faço para ativar o registro em log binário para meu cluster do Amazon Aurora MySQL?.

  • Certifique-se de que os registros binários estejam disponíveis para AWS DMS o. Como os bancos AWS de dados MySQL e MariaDB gerenciados eliminam os registros binários o mais rápido possível, você deve aumentar o tempo em que os registros permanecem disponíveis. Por exemplo, para aumentar a retenção de log para 24 horas, execute o comando a seguir.

    call mysql.rds_set_configuration('binlog retention hours', 24);
  • Defina o parâmetro binlog_row_image como Full.

  • Defina o parâmetro binlog_checksum como NONE.

  • Se estiver utilizando uma réplica do Amazon RDS MySQL ou do MariaDB como origem, ative os backups na réplica de leitura e verifique se o parâmetro log_slave_updates está definido como TRUE.

Limitações para utilizar um banco de dados compatível com MySQL como origem para migrações de dados homogêneas

As seguintes limitações se aplicam ao utilizar um banco de dados compatível com MySQL como origem para migrações de dados homogêneas:

  • Objetos MariaDB, como sequências, não são compatíveis em tarefas de migração homogêneas.

  • A migração do MariaDB para o Amazon RDS MySQL/Aurora MySQL pode falhar devido a diferenças de objetos incompatíveis.

  • O nome de usuário que você usa para se conectar à fonte de dados tem as seguintes limitações:

    • Pode ter de 2 a 64 caracteres de extensão.

    • Não pode ter espaços.

    • Pode incluir os seguintes caracteres: a-z, A-Z, 0-9, sublinhado (_).

    • Deve começar com a-z ou A-Z.

  • A senha que você usa para se conectar à fonte de dados tem as seguintes limitações:

    • Pode ter de 1 a 128 caracteres de extensão.

    • Não pode conter nenhum dos seguintes: aspas simples (‘), aspas duplas (“), ponto e vírgula (;) ou espaço.