Migrar dados de um snapshot de banco de dados do MySQL para uma instância de banco de dados do MariaDB - Amazon Relational Database Service

Migrar dados de um snapshot de banco de dados do MySQL para uma instância de banco de dados do MariaDB

É possível migrar um snapshot de banco de dados do RDS para MySQL para uma nova instância de banco de dados que executa o MariaDB utilizando o AWS Management Console, a AWS CLI ou a API do Amazon RDS. É necessário usar um snapshot de banco de dados criado em uma instância de banco de dados do Amazon RDS executando o MySQL 5.6 ou 5.7. Para saber como criar um snapshot de banco de dados do RDS para MySQL, consulte Criar um snapshot de banco de dados para uma instância de banco de dados de uma única zona de disponibilidade.

A migração do snapshot não afeta a instância de banco de dados original da qual o snapshot foi tirado. Você pode testar e validar a nova instância de banco de dados antes de desviar o tráfego para ela como um substituto para a instância de banco de dados original.

Após a migração do MySQL para o MariaDB, a instância de banco de dados do MariaDB será associada ao grupo de parâmetros de banco de dados e ao grupo de opções. Depois de restaurar o snapshot de banco de dados, você poderá associar um grupo de parâmetros de banco de dados personalizado à nova instância de banco de dados. No entanto, um grupo de parâmetros do MariaDB apresenta um conjunto diferente de variáveis de sistema configuráveis. Para obter informações sobre as diferenças entre as variáveis de sistema do MySQL e do MariaDB, consulte Diferenças em variáveis de sistema entre o MariaDB e o MySQL. Para saber mais sobre grupos de parâmetros de banco de dados, consulte Grupos de parâmetros para Amazon RDS. Para saber mais sobre option groups, consulte Trabalhar com grupos de opções.

Executar a migração

Você pode migrar um snapshot de banco de dados do RDS para MySQL para uma nova instância de banco de dados MariaDB usando o AWS Management Console, a AWS CLI ou a API do RDS.

Para migrar um snapshot de banco de dados do MySQL para uma instância de banco de dados do MariaDB
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, selecione Snapshots e, em seguida, selecione o snapshot de banco de dados MySQL que você deseja migrar.

  3. Em Actions (Ações), escolha Migrate snapshot (Migrar snapshot). A página Migrate Database (Migrar banco de dados) é exibida.

  4. Em Migrate to DB Engine (Migrar para o mecanismo de banco de dados), selecione mariadb.

    O Amazon RDS seleciona uma opção para DB engine version (Versão do mecanismo de banco de dados) automaticamente. Não é possível alterar a versão do mecanismo de banco de dados.

    A página Migrar banco de dados para migrar do MySQL para o MariaDB no console do Amazon RDS.
  5. Nas seções restantes, especifique suas configurações de instância de banco de dados. Para obter informações sobre cada configuração, consulte Configurações para instâncias de banco de dados.

  6. Escolha Migrate (Migrar).

Para migrar dados de um snapshot de banco de dados do MySQL para uma instância de banco de dados MariaDB, use o comando restore-db-instance-from-db-snapshot da AWS CLI com os seguintes parâmetros:

  • --db-instance-identifier – Nome da instância de banco de dados para criar a partir do snapshot de banco de dados.

  • --db-snapshot-identifier – O identificador para restaurar o snapshot de banco de dados.

  • --engine – O mecanismo de banco de dados a utilizar na nova instância.

Para Linux, macOS ou Unix:

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier newmariadbinstance \ --db-snapshot-identifier mysqlsnapshot \ --engine mariadb

Para Windows:

aws rds restore-db-instance-from-db-snapshot ^ --db-instance-identifier newmariadbinstance ^ --db-snapshot-identifier mysqlsnapshot ^ --engine mariadb

Para migrar dados de um snapshot de banco de dados do MySQL para uma instância de banco de dados do MariaDB, chame a operação RestoreDBInstanceFromDBSnapshot da API do Amazon RDS.

Incompatibilidades entre o MariaDB e o MySQL

As incompatibilidades entre o MySQL e o MariaDB incluem o seguinte:

  • Não é possível migrar um snapshot de banco de dados criado com o MySQL 8.0 para o MariaDB.

  • Se o banco de dados MySQL usa um hash de senha SHA256, certifique-se de redefinir senhas de usuário com hash SHA256 antes de se conectar ao banco de dados MariaDB. O código a seguir mostra como redefinir uma senha com hash SHA256.

    SET old_passwords = 0; UPDATE mysql.user SET plugin = 'mysql_native_password', Password = PASSWORD('new_password') WHERE (User, Host) = ('master_user_name', %); FLUSH PRIVILEGES;
  • Se a sua conta de usuário primária do RDS utilizar o hash de senha SHA-256, redefina a senha utilizando o AWS Management Console, o comando modify-db-instance da AWS CLI ou a operação ModifyDBInstance da API do RDS. Para ter mais informações sobre como modificar uma instância de banco de dados , consulte Modificar uma instância de banco de dados do Amazon RDS.

  • O MariaDB não é compatível com o plugin Memcached. No entanto, os dados usados pelo plugin Memcached são armazenados como tabelas do InnoDB. Após migrar um snapshot de banco de dados do MySQL, você poderá acessar os dados usados pelo plugin Memcached usando o SQL. Para mais informações sobre o banco de dados innodb_memcache, consulte Elementos internos do plugin memcached do InnoDB.