Migrar dados para um cluster de banco de dados do Amazon Aurora MySQL - Amazon Aurora

Migrar dados para um cluster de banco de dados do Amazon Aurora MySQL

Você tem várias opções para migrar dados do seu banco de dados existente para um cluster de banco de dados MySQL do Amazon Aurora. Suas opções de migração também dependem do banco de dados do qual você está migrando e do tamanho dos dados que você está migrando.

Existem dois tipos diferentes de migração: física e lógica. A migração física significa que as cópias físicas dos arquivos de banco de dados serão usadas para migrar o banco de dados. A migração lógica significa que a migração será realizada aplicando mudanças de banco de dados lógicas, como inserções, atualizações e exclusões.

A migração física tem as seguintes vantagens:

  • A migração física é mais rápida do que a migração lógica, especialmente para grandes bancos de dados.

  • O performance do banco de dados não é afetado quando um backup é feito por migração física.

  • A migração física pode migrar tudo no banco de dados de origem, incluindo componentes de banco de dados complexos.

A migração física tem as seguintes limitações:

  • O parâmetro innodb_page_size precisa ser definido com o valor padrão (16KB).

  • O parâmetro innodb_data_file_path deve ser configurado com apenas um arquivo de dados que usa o nome de arquivo de dados padrão "ibdata1:12M:autoextend". Bancos de dados com dois arquivos de dados ou com um arquivo de dados com um nome diferente não podem ser migrados usando esse método.

    Veja a seguir, exemplos de nomes de arquivos que não são permitidos: "innodb_data_file_path=ibdata1:50M; ibdata2:50M:autoextend" e "innodb_data_file_path=ibdata01:50M:autoextend".

  • O parâmetro innodb_log_files_in_group precisa ser definido com o valor padrão (2).

A migração lógica tem as seguintes vantagens:

  • Você pode migrar subconjuntos do banco de dados, como tabelas específicas ou partes de uma tabela.

  • Os dados podem ser migrados independentemente da estrutura de armazenamento físico.

A migração lógica tem as seguintes limitações:

  • Geralmente, a migração lógica é mais lenta do que a migração física.

  • Os componentes complexos do banco de dados podem atrasar o processo de migração lógica. Em alguns casos, os componentes complexos do banco de dados podem até bloquear a migração lógica.

A tabela a seguir detalha as opções disponíveis e o tipo de migração para cada uma delas.

Migrar a partir de Migration type Solução

Uma instância de banco de dados RDS for MySQL

Físico

É possível migrar de uma instância de banco de dados RDS for MySQL criando antes uma réplica de leitura do Aurora MySQL de uma instância de banco de dados MySQL. Quando o atraso da réplica entre a instância de banco de dados MySQL e a réplica de leitura do Aurora MySQL é 0, você pode direcionar seus aplicativos clientes para leitura da réplica de leitura do Aurora e interromper a replicação, a fim de que a réplica de leitura do Aurora MySQL se torne um cluster de banco de dados autônomo do Aurora MySQL para leitura e gravação. Para obter mais detalhes, consulte Migrar de uma instância de banco de dados do RDS para MySQL para um cluster de banco de dados do Amazon Aurora MySQL usando uma réplica de leitura do Aurora.

Um snapshot de banco de dados RDS for MySQL

Físico

Você pode migrar dados diretamente de um snapshot de banco de dados RDS for MySQL para um cluster de banco de dados do Amazon Aurora MySQL. Para obter detalhes, consulte Migrar de um snapshot do RDS for MySQL para o Aurora.

Um banco de dados MySQL externo para o Amazon RDS

Lógico

Você pode criar um despejo dos seus dados usando o utilitário mysqldump e importando os dados para um cluster existente de banco de dados do Amazon Aurora MySQL. Para obter detalhes, consulte Migração lógica do MySQL para o Amazon Aurora MySQL usando o mysqldump.

Para exportar metadados para usuários de banco de dados durante a migração de um banco de dados externo do MySQL, também é possível usar um comando do MySQL Shell em vez de mysqldump. Consulte mais informações em Instance Dump Utility, Schema Dump Utility, and Table Dump Utility.

nota

O utilitário mysqlpump foi descontinuado desde o MySQL 8.0.34.

Um banco de dados MySQL externo para o Amazon RDS

Físico

Você pode copiar arquivos de backup do seu banco de dados em um bucket do Amazon Simple Storage Service (Amazon S3) e restaurar um cluster de banco de dados do Amazon Aurora MySQL desses arquivos. Essa opção pode ser considerada mais rápida do que migrar dados usando mysqldump. Para obter mais detalhes, consulte Migração física do MySQL usando o Percona XtraBackup e o Amazon S3.

Um banco de dados MySQL externo para o Amazon RDS

Lógico

Você pode economizar dados do banco de dados como arquivos de texto e copiar esses arquivos para um bucket do Amazon S3. Em seguida, você pode carregar os dados para um cluster existente de banco de dados do Aurora MySQL usando o comando LOAD DATA FROM S3 do MySQL. Para ter mais informações, consulte Carregar dados em um cluster de banco de dados do Amazon Aurora MySQL a partir de arquivos de texto em um bucket do Amazon S3.

Um banco de dados que não compatível com MySQL

Lógico

Você pode usar AWS Database Migration Service (AWS DMS) para migrar dados de um banco de dados incompatível com MySQL. Para obter mais informações sobre o AWS DMS, consulte O que é o serviço de migração de banco de dados da AWS?

nota

Se você estiver migrando um banco de dados externo do MySQL para o Amazon RDS, as opções de migração descritas na tabela serão aceitas somente se seu banco de dados for compatível os espaços de tabela do InnoDB ou MyISAM.

Se o banco de dados MySQL que você está migrando para o Aurora MySQL usar memcached, remova o memcached antes de migrá-lo.

Não é possível migrar de algumas versões anteriores a 8.0 do MySQL para o Aurora MySQL 3.05, incluindo 8.0.11, 8.0.13 e 8.0.15. Recomendamos que você atualize para a versão 8.0.28 do MySQL antes da migração.