Importar dados para uma instância de banco de dados do Amazon RDS para MariaDB com tempo de inatividade reduzido - Amazon Relational Database Service

Importar dados para uma instância de banco de dados do Amazon RDS para MariaDB com tempo de inatividade reduzido

Em alguns casos, você pode precisar importar dados de um banco de dados MariaDB externo que aceite uma aplicação dinâmica para uma instância de banco de dados RDs para MariaDB. Use o procedimento a seguir para minimizar o impacto sobre a disponibilidade das aplicações. Este procedimento também pode ser útil se você está trabalhando com um banco de dados muito grande. Usando esse procedimento, você pode reduzir o custo da importação ao diminuir a quantidade de dados transmitidos pela rede para a AWS.

Neste procedimento, você transfere uma cópia dos dados do banco de dados para uma instância do Amazon EC2 e importa os dados em um novo banco de dados do Amazon RDS. Depois, use a replicação para atualizar o banco de dados do Amazon RDS em relação à instância externa dinâmica, antes de redirecionar sua aplicação ao banco de dados do Amazon RDS. Se a instância externa for do MariaDB 10.0.24 ou posterior e a instância de destino for do RDS para MariaDB, configure a replicação do MariaDB com base em identificadores de transação global (GTIDs). Caso contrário, configure a replicação com base nas coordenadas do log binário. Recomendamos a replicação baseada em GTID caso o banco de dados externo comporte esse tipo de replicação, já que é um método mais confiável. Para obter mais informações, consulte Global Transaction ID na documentação do MariaDB.

O diagrama a seguir mostra como importar um banco de dados MariaDB externo para um banco de dados MariaDB no Amazon RDS.

Fluxo de trabalho que mostra como importar um banco de dados MariaDB externo para um banco de dados MariaDB no Amazon RDS.

Tarefa 1: criar uma cópia do banco de dados existente

A primeira etapa do processo de migração de um grande volume de dados para um banco de dados RDS para MariaDB com o mínimo de tempo de inatividade é criar uma cópia dos dados de origem.

O diagrama a seguir mostra como criar um backup do banco de dados MariaDB.

Fluxo de trabalho que mostra como criar um backup do banco de dados MariaDB.

Você pode usar o utilitário mysqldump ou mariadb-dump para criar um backup de banco de dados no formato SQL ou de texto delimitado. No MariaDB 10.5, o cliente é chamado de mariadb-dump. A partir do MariaDB 11.0.1, você deve usar mariadb-dump em vez de mysqldump. Recomendamos que você faça uma execução de teste com cada formato em um ambiente que não seja de produção para ver qual método minimiza o tempo de execução de mysqldump ou mariadb-dump.

Recomendamos também que você pondere a performance de mysqldump ou mariadb-dump em relação ao benefício oferecido usando o formato de texto delimitado para o carregamento. Um backup usando o formato de texto delimitado cria um arquivo de texto separado por tabulação para cada tabela que está sendo despejada. Você pode carregar esses arquivos em paralelo usando o comando LOAD DATA LOCAL INFILE para reduzir a quantidade de tempo necessária para importar seu banco de dados. Para acessar mais informações, consulte Etapa 5: Carregar os dados no procedimento Importar dados de qualquer origem.

Antes de iniciar a operação de backup, defina as opções de replicação no banco de dados MariaDB que está copiando para o Amazon RDS. As opções de replicação incluem ativar o registro em log binário e definir um ID de servidor exclusivo. Configurar essas opções faz com que seu servidor comece a registrar em log transações de banco de dados e o prepara para ser um uma instância de replicação de origem mais adiante nesse processo.

Analise as seguintes recomendações e considerações:

  • Use a opção --single-transaction com mysqldump ou mariadb-dump porque ela despeja um estado consistente do banco de dados. Para garantir um arquivo de despejo válido, não execute instruções DDL enquanto mysqldump ou mariadb-dump estiver em execução. É possível programar uma janela de manutenção para essas operações.

  • Exclua os seguintes esquemas do arquivo de despejo:

    • sys

    • performance_schema

    • information_schema

    Os utilitários mysqldump e mariadb-dump excluem esses esquemas por padrão.

  • Para migrar usuários e privilégios, considere o uso de uma ferramenta que gera a linguagem de controle de dados (DCL) para recriá-los, como o utilitário pt-show-grants.

Como definir opções de replicação

  1. Edite o arquivo my.cnf. Esse arquivo geralmente está localizado em /etc.

    sudo vi /etc/my.cnf

    Adicione as opções log_bin e server_id à seção [mysqld]. A opção log_bin fornece um identificador de nome de arquivo para arquivos de log binário. A opção server_id fornece um identificador exclusivo para o servidor em relações entre origem e réplica.

    O seguinte exemplo mostra a seção [mariadb] atualizada de um arquivo my.cnf:

    [mariadb] log-bin server-id=1 log-basename=master1 binlog-format=mixed

    Para acessar mais informações, consulte Setting the Replication Source Configuration na documentação do MariaDB.

  2. Para a replicação com um cluster de banco de dados multi-AZ, habilite gtid_strict_mode. Para acessar mais informações, consulte gtid_strict_mode na documentação do MariaDB.

    A ativação de gtid_strict_mode não é necessária para a replicação com uma instância de banco de dados.

  3. Reinicie o serviço mariadb.

    sudo service mariadb restart

Como criar uma cópia de backup do banco de dados existente

  1. Crie um backup dos dados por meio do utilitário mysqldump ou mariadb-dump, especificando o formato SQL ou de texto delimitado.

    Para melhorar a performance e garantir a integridade dos dados, use as opções --order-by-primary e --single-transaction para mysqldump e mariadb-dump.

    Para evitar a inclusão do banco de dados do sistema MySQL no backup, não use a opção --all-databases com mysqldump ou mariadb-dump. Para ter mais informações, consulte Creating a Data Snapshot Using mysqldump na documentação do MySQL.

    Use chmod, se necessário, para garantir que o diretório no qual o arquivo de backup está sendo criado seja gravável.

    Importante

    No Windows, execute a janela de comando como um administrador.

    • Para produzir a saída SQL, use o comando a seguir. Para o MariaDB 10.11 e versões posteriores, substitua mariadb-dump por mysqldump.

      Para Linux, macOS ou Unix:

      sudo mariadb-dump \ --databases database_name \ --master-data=2 \ --single-transaction \ --order-by-primary \ -r backup.sql \ -u local_user \ -ppassword
      nota

      Faz parte das práticas recomendadas de segurança especificar credenciais diferentes dos prompts mostrados no exemplo.

      Para Windows:

      mariadb-dump ^ --databases database_name ^ --master-data=2 ^ --single-transaction ^ --order-by-primary ^ -r backup.sql ^ -u local_user ^ -ppassword
      nota

      Faz parte das práticas recomendadas de segurança especificar credenciais diferentes dos prompts mostrados no exemplo.

    • Para produzir uma saída de texto delimitado, use o comando a seguir. Para o MariaDB 11.01 e versões posteriores, substitua mysqldump por mariadb-dump.

      Para Linux, macOS ou Unix:

      sudo mysqldump \ --tab=target_directory \ --fields-terminated-by ',' \ --fields-enclosed-by '"' \ --lines-terminated-by 0x0d0a \ database_name \ --master-data=2 \ --single-transaction \ --order-by-primary \ -ppassword

      Para Windows:

      mysqldump ^ --tab=target_directory ^ --fields-terminated-by "," ^ --fields-enclosed-by """ ^ --lines-terminated-by 0x0d0a ^ database_name ^ --master-data=2 ^ --single-transaction ^ --order-by-primary ^ -ppassword
      nota

      Faz parte das práticas recomendadas de segurança especificar credenciais diferentes dos prompts mostrados no exemplo.

      Certifique-se de criar procedimentos armazenados, acionadores, funções ou eventos manualmente no seu banco de dados Amazon RDS. Se algum desses objetos estiver no banco de dados que você está copiando, exclua-os quando executar mysqldump ou mariadb-dump. Para fazer isso, inclua estes argumentos com o comando mysqldump ou mariadb-dump:

      • --routines=0

      • --triggers=0

      • --events=0

      Quando você executa mysqldump e especifica o formato de texto delimitado, um comentário CHANGE MASTER TO é exibido. Esse comentário contém o nome e a posição do arquivo de log mestre. Se a instância externa for o MariaDB 10.0.2e ou posterior, observe os valores para MASTER_LOG_FILE e MASTER_LOG_POS. Esses valores são necessários ao configurar a replicação.

      A seguinte saída é exibida para versões do MariaDB.

      -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;
  2. Se a versão da instância externa que você está usando for MariaDB 10.0.24 ou posterior, use a replicação baseada em GTID. Execute SHOW MASTER STATUS na instância externa do MariaDB para obter o nome e a posição do arquivo de log binário. Em seguida, converta-o em um GTID executando BINLOG_GTID_POS na instância externa do MariaDB.

    SELECT BINLOG_GTID_POS('binary_log_file_name', binary_log_file_position);

    Anote o GTID retornado. Você precisará dele para configurar a replicação.

  3. Compacte os dados copiados para reduzir a quantidade de recursos de rede necessários para copiar seus dados para o banco de dados do Amazon RDS. Anote o tamanho do arquivo de backup. Você precisará dessas informações ao determinar o tamanho de uma instância do Amazon EC2 a ser criada. Quando terminar, compacte o arquivo de backup usando o GZIP ou seu utilitário de compactação preferido.

    • Para compactar a saída SQL, use o seguinte comando:

      gzip backup.sql
    • Para compactar a saída de texto delimitado, use o seguinte comando:

      tar -zcvf backup.tar.gz target_directory

Tarefa 2: criar uma instância do Amazon EC2 e copiar o banco de dados compactado

Copiar seu arquivo de backup de banco de dados compactado para uma instância do Amazon EC2 requer menos recursos de rede do que fazer uma cópia direta de dados não compactados entre instâncias de bancos de dados. Depois que seus dados estiverem no Amazon EC2, você poderá copiá-los de lá diretamente para o banco de dados MariaDB. Para reduzir o custo dos recursos de rede, a instância do Amazon EC2 deve estar na mesma Região da AWS que a instância de banco de dados do Amazon RDS. Ter a instância do Amazon EC2 na mesma Região da AWS que o banco de dados do Amazon RDS também reduz a latência da rede durante a importação.

O diagrama a seguir mostra como copiar o backup do banco de dados para uma instância do Amazon EC2.

Fluxo de trabalho que mostra como copiar o backup do banco de dados para uma instância do EC2.

Como criar uma instância do Amazon EC2 e copiar seus dados

  1. Na Região da AWS em que você planeja criar o banco de dados do Amazon RDS, crie uma nuvem privada virtual (VPC), um grupo de segurança de VPC e uma sub-rede de VPC. Certifique-se de que as regras de entrada para o grupo de segurança da VPC permitam os endereços IP necessários para a aplicação se conectar ao AWS. Você pode especificar uma variedade de endereços IP (por exemplo, 203.0.113.0/24) ou outro grupo de segurança de VPC. É possível usar o console da Amazon VPC para criar e gerenciar VPCs, sub-redes e grupos de segurança. Para ter mais informações, consulte Conceitos básicos da Amazon VPC no Manual do usuário da Amazon Virtual Private Cloud.

  2. Abra o console do Amazon EC2 e escolha a Região da AWS para conter tanto a instância do Amazon EC2 como o banco de dados do Amazon RDS. Inicie uma instância do Amazon EC2 usando a VPC, a sub-rede e o grupo de segurança que você criou na Etapa 1. Certifique-se de selecionar um tipo de instância com armazenamento suficiente para o arquivo de backup de banco de dados quando ele não estiver compactado. Para ter detalhes sobre instâncias do Amazon EC2, consulte Comece a usar o Amazon EC2 no Guia do usuário do Amazon Elastic Compute Cloud.

  3. Para se conectar ao banco de dados do Amazon RDS pela sua instância do Amazon EC2, edite seu grupo de segurança da VPC. Adicione uma regra de entrada especificando o endereço IP privado da sua instância do EC2. Você pode encontrar o endereço IP privado na guia Details (Detalhes) do painel Instance (Instância) na janela do console do EC2. Para editar o grupo de segurança de VPC e adicionar uma regra de entrada, escolha Security Groups (Grupos de segurança) no painel de navegação do console do EC2, escolha o grupo de segurança e, em seguida, adicione uma regra de entrada para MySQL ouAurora especificando o endereço IP privado da sua instância do EC2. Para saber como adicionar uma regra de entrada a um grupo de segurança de VPC, consulte Regras de grupos de segurança no Manual do usuário da Amazon Virtual Private Cloud.

  4. Copie o arquivo de backup de banco de dados compactado do seu sistema local para a sua instância do Amazon EC2. Use chmod, se necessário, para garantir que você tenha permissão de gravação para o diretório de destino da instância do Amazon EC2. Você pode usar scp ou um cliente Secure Shell (SSH) para copiar o arquivo. O seguinte comando é um exemplo de comando scp:

    scp -r -i key pair.pem backup.sql.gz ec2-user@EC2 DNS:/target_directory/backup.sql.gz
    Importante

    Ao copiar dados sensíveis, use um protocolo de transferência de rede segura.

  5. Conecte-se à sua instância do Amazon EC2 e instale as atualizações e as ferramentas do cliente MariaDB mais recentes usando os seguintes comandos:

    sudo yum update -y sudo yum install mariadb1011-client-utils -y

    Para acessar mais informações, consulte Conectar-se à instância para instâncias do Linux no Guia do usuário do Amazon Elastic Compute Cloud e MariaDB Connectors na documentação do MariaDB.

  6. Enquanto estiver conectado à sua instância do Amazon EC2, descompacte o arquivo de backup do banco de dados. Os comandos a seguir são exemplos.

    • Para descompactar a saída SQL, use o seguinte comando:

      gzip backup.sql.gz -d
    • Para descomprimir a saída de texto delimitada, use o seguinte comando:

      tar xzvf backup.tar.gz

Tarefa 3: criar um banco de dados MariaDB e importar os dados da instância do Amazon EC2

Ao criar uma instância de banco de dados do RDS para MariaDB na mesma Região da AWS que a sua instância do Amazon EC2, você pode importar o arquivo de backup do banco de dados do Amazon EC2 mais rápido do que ao importá-lo pela Internet.

O diagrama a seguir mostra como importar o backup de uma instância do Amazon EC2 para um banco de dados MariaDB.

Fluxo de trabalho que mostra como importar o backup da instância do EC2 para o banco de dados MariaDB.

Como criar um banco de dados MariaDB e importar seus dados

  1. Determine qual classe de instância de banco de dados e que quantidade de espaço de armazenamento são necessários para atender à workload esperada para esse banco de dados do Amazon RDS. Como parte desse processo, decida sobre o espaço suficiente e a capacidade de processamento para os seus procedimentos de carregamento de dados. Além disso, decida o que é necessário para lidar com a workload de produção. Você pode estimar isso com base no tamanho e nos recursos do banco de dados MariaDB de origem. Para ter mais informações, consulte Classes de instâncias de banco de dados .

  2. Crie uma instância de banco de dados no Região da AWS que contenha a instância do Amazon EC2. Siga as instruções em Criar uma instância de banco de dados do Amazon RDS use as seguintes diretrizes:

    • Especifique uma versão do mecanismo de banco de dados que seja compatível com a sua instância de banco de dados de origem.

    • Especifique a mesma nuvem privada virtual (VPC) e o grupo de segurança da VPC para sua instância do Amazon EC2. Essa abordagem garante que sua instância do Amazon EC2 e sua instância do Amazon RDS sejam visíveis uma para a outra na rede. Verifique se sua instância de banco de dados pode ser acessada publicamente. Para configurar a replicação com o banco de dados de origem, conforme descrito em uma seção mais adiante, a instância de banco de dados deve ser acessível ao público.

    • Não configure várias zonas de disponibilidade, retenção de backup nem réplicas de leitura até depois de ter importado o backup do banco de dados. Quando a importação estiver concluída, você poderá configurar o recurso multi-AZ e a retenção de backup para a instância de produção.

  3. Reveja as opções de configuração padrão para o banco de dados do Amazon RDS. Se o grupo de parâmetros padrão para o banco de dados não tiver as opções de configuração desejadas, encontre outro que as inclua ou crie um grupo de parâmetros. Para ter mais informações sobre como criar um grupo de parâmetros, consulte Grupos de parâmetros para Amazon RDS.

  4. Conecte-se ao novo banco de dados do Amazon RDS como usuário principal. Crie os usuários necessários para dar suporte aos administradores, aplicações e serviços que precisam acessar a instância de banco de dados. O nome do host para o banco de dados do Amazon RDS é o valor do endpoint dessa instância, de banco de dados sem o número da porta; por exemplo, mysampledb.123456789012.us-west-2.rds.amazonaws.com. Você pode encontrar o valor do endpoint nos detalhes do banco de dados no console do Amazon RDS.

  5. Conecte-se à sua instância Amazon EC2. Para ter mais informações, consulte Conectar-se à instância no Guia do usuário do Amazon Elastic Compute Cloud para Linux.

  6. Conecte-se ao seu banco de dados do Amazon RDS como um host remoto pela sua instância do Amazon EC2 usando o comando mysql. O seguinte comando é um exemplo:

    mysql -h host_name -P 3306 -u db_master_user -p

    O host_name é o endpoint do banco de dados do Amazon RDS.

  7. No prompt mysql, execute o comando source e passe a ele o nome do arquivo de despejo do banco de dados. Esse comando carrega os dados na instância de banco de dados do Amazon RDS.

    • Para o formato SQL, use o seguinte comando:

      MariaDB [(none)]> source backup.sql;
    • Para o formato de texto delimitado, primeiro crie o banco de dados, se ele não for o banco de dados padrão que você criou ao configurar o banco de dados do Amazon RDS.

      MariaDB [(none)]> create database database_name; MariaDB [(none)]> use database_name;

      Em seguida, crie as tabelas.

      MariaDB [(none)]> source table1.sql MariaDB [(none)]> source table2.sql etc...

      Em seguida, importe os dados.

      MariaDB [(none)]> LOAD DATA LOCAL INFILE 'table1.txt' INTO TABLE table1 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a'; MariaDB [(none)]> LOAD DATA LOCAL INFILE 'table2.txt' INTO TABLE table2 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '0x0d0a'; etc...

      Para melhorar a performance, você pode realizar essas operações em paralelo de várias conexões, para que todas as tabelas sejam criadas e carregadas ao mesmo tempo.

      nota

      Se você usou qualquer opção de formatação de dados com mysqldump ou mariadb-dump quando despejou inicialmente a tabela, use as mesmas opções com LOAD DATA LOCAL INFILE para assegurar uma interpretação adequada do conteúdo do arquivo de dados.

  8. Execute uma consulta SELECT simples em uma ou duas das tabelas no banco de dados importado para verificar se a importação foi bem-sucedida.

Se você não precisa mais da instância do Amazon EC2 usada neste procedimento, encerre-a para reduzir o uso de recursos de uso da AWS. Para encerrar uma instância do EC2, consulte Como encerrar uma instância no Guia do usuário do Amazon Elastic Compute Cloud.

Tarefa 4: replicar dados do banco de dados externo para o novo banco de dados do Amazon RDS

Seu banco de dados de origem provavelmente foi atualizado durante o tempo decorrido entre a cópia e a transferência dos dados para o banco de dados MariaDB. Você pode usar a replicação para atualizar o banco de dados copiado com o banco de dados de origem.

Fluxo de trabalho que mostra como replicar dados do banco de dados MariaDB externo para o banco de dados no Amazon RDS.

As permissões necessárias para iniciar a replicação em um banco de dados do Amazon RDS são restritas e não estão disponíveis ao seu usuário principal do Amazon RDS. Por esse motivo, use o procedimento armazenado apropriado do Amazon RDS:

Como iniciar a replicação

Na Tarefa 1, ao definir as opções de replicação, você ativou o registro em log binário e definiu um ID de servidor exclusivo para o banco de dados de origem. Agora, é possível configurar seu banco de dados Amazon RDS como uma réplica com seu banco de dados dinâmico como a instância de replicação de origem.

  1. No console do Amazon RDS, adicione o endereço IP do servidor que hospeda o banco de dados de origem ao grupo de segurança da VPC para o banco de dados do Amazon RDS. Para ter mais informações sobre grupos de segurança da VPC, consulte Configurar regras de grupo de segurança no Manual do usuário da Amazon Virtual Private Cloud.

    Você também pode precisar configurar a rede local para permitir conexões com o endereço IP do banco de dados do Amazon RDS, para que ele possa se comunicar com a instância de origem. Para localizar o endereço IP do banco de dados do Amazon RDS, use o comando host:

    host host_name

    O host_name é o nome DNS do endpoint do banco de dados do Amazon RDS; por exemplo, myinstance.123456789012.us-east-1.rds.amazonaws.com. Você pode encontrar o valor do endpoint nos detalhes da instância do banco de dados no console do Amazon RDS.

  2. Usando o cliente de sua preferência, conecte-se à instância de origem e crie um usuário a ser usado para a replicação. Esta conta é usada unicamente para replicação e deve estar restrita ao seu domínio para melhorar a segurança. O seguinte comando é um exemplo:

    CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'password';
    nota

    Especifique credenciais diferentes dos prompts mostrados aqui como prática recomendada de segurança.

  3. Para a instância de origem, conceda os privilégios REPLICATION CLIENT e REPLICATION SLAVE para seu usuário de replicação. Por exemplo, para conceder os privilégios de REPLICATION CLIENT e REPLICATION SLAVE em todos os bancos de dados para o usuário 'repl_user' de seu domínio, emita o seguinte comando:

    GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com';
  4. Se você tiver usado o formato SQL para criar o arquivo de backup e a versão da instância externa não for MariaDB 10.0.24 ou posterior, veja o conteúdo desse arquivo executando o seguinte comando:

    cat backup.sql

    O arquivo inclui um comentário CHANGE MASTER TO que contém o nome e a posição do arquivo de log mestre. Esse comentário está incluído no arquivo de backup quando você usa a opção --master-data com mysqldump. Observe os valores para MASTER_LOG_FILE e MASTER_LOG_POS.

    -- -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;

    Se você usou o formato de texto delimitado para criar o arquivo de backup e a versão da instância externa não for MariaDB 10.0.24 ou posterior, você já deve ter coordenadas de logs binários da Etapa 1 na Tarefa 1 ao criar uma cópia de backup do banco de dados existente.

    Se a versão da instância externa for MariaDB 10.0.24 ou posterior, você já deve ter o GTID com base no qual iniciar a replicação na Etapa 2, na Tarefa 1 ao criar uma cópia de backup do banco de dados existente.

  5. Torne o banco de dados do Amazon RDS a réplica. Se a versão da instância externa não for o MariaDB 10.0.24 ou posterior, conecte-se ao banco de dados Amazon RDS como o usuário principal e identifique o banco de dados de origem como a instância de replicação de origem usando o procedimento armazenado mysql.rds_set_external_master.

    Se você tiver um arquivo de backup no formato SQL, use o nome do arquivo de log mestre e a posição do log mestre que você determinou na Etapa 4. Se você usou o formato de texto delimitado, use o nome e a posição que você determinou ao criar os arquivos de backup. O seguinte comando é um exemplo:

    CALL mysql.rds_set_external_master ('myserver.mydomain.com', 3306, 'repl_user', 'password', 'mysql-bin-changelog.000031', 107, 1);
    nota

    Especifique credenciais diferentes dos prompts mostrados aqui como prática recomendada de segurança.

    Se a versão da instância externa for o MariaDB 10.0.24 ou posterior, conecte-se ao banco de dados Amazon RDS como o usuário principal e identifique o banco de dados de origem como a instância de replicação de origem usando o procedimento armazenado mysql.rds_set_external_master_gtid. Use o GTID que você determinou na Etapa 2 da Tarefa 1 quando criou uma cópia de backup do banco de dados existente. O seguinte comando é um exemplo:

    CALL mysql.rds_set_external_master_gtid ('source_server_ip_address', 3306, 'ReplicationUser', 'password', 'GTID', 1);

    O source_server_ip_address é o endereço IP da instância de replicação de origem. No momento, não é possível usar um endereço DNS privado do EC2.

    nota

    Especifique credenciais diferentes dos prompts mostrados aqui como prática recomendada de segurança.

  6. No banco de dados Amazon RDS, para iniciar a replicação, execute o seguinte comando que usa o procedimento armazenado mysql.rds_start_replication:

    CALL mysql.rds_start_replication;
  7. No banco de dados Amazon RDS, para determinar quando a réplica está atualizada com a instância de replicação de origem, execute o comando SHOW REPLICA STATUS. Os resultados do comando SHOW REPLICA STATUS incluem o campo Seconds_Behind_Master. Quando o campo Seconds_Behind_Master retorna 0, a réplica é atualizada com a instância de replicação de origem.

    Para uma instância de banco de dados do MariaDB 10.5, 10.6, 10.11, 11.4 ou 11.8, use o procedimento armazenado mysql.rds_replica_status em vez do comando do MySQL.

  8. Depois que o banco de dados do Amazon RDS estiver atualizado, ative backups automatizados para poder restaurar esse banco de dados, se necessário. Você pode ativar ou modificar backups automatizados para um banco de dados do Amazon RDS usando o console do Amazon RDS. Para ter mais informações, consulte Introdução aos backups.

Tarefa 5: redirecionar a aplicação ativa para a instância do Amazon RDS

Depois que o banco de dados MariaDB estiver atualizado com a instância de replicação de origem, será possível atualizar sua aplicação dinâmica para usar a instância do Amazon RDS.

Fluxo de trabalho que mostra como interromper a replicação e direcionar a aplicação ativa para o banco de dados no Amazon RDS.

Como redirecionar a aplicação dinâmica para o banco de dados MariaDB e interromper a replicação

  1. Para adicionar o grupo de segurança de VPC para o banco de dados do Amazon RDS, adicione o endereço IP do servidor que hospeda a aplicação. Para ter mais informações sobre como modificar um grupo de segurança de VPC, consulte Configurar regras de grupo de segurança no Manual do usuário da Amazon Virtual Private Cloud.

  2. Verifique se o campo Seconds_Behind_Master nos resultados do comando SHOW REPLICA STATUS é 0, o que indica que a réplica está atualizada com a instância de replicação de origem.

    SHOW REPLICA STATUS;

    Para uma instância de banco de dados do MariaDB 10.5, 10.6, 10.11, 11.4 ou 11.8, use o procedimento armazenado mysql.rds_replica_status em vez do comando do MySQL.

  3. Feche todas as conexões com a origem quando suas transações terminarem.

  4. Atualize sua aplicação para usar o banco de dados do Amazon RDS. Normalmente, essa atualização envolve a alteração das configurações de conexão para identificar o nome do host e a porta do banco de dados do Amazon RDS, a conta de usuário e a senha para conexão e o banco de dados para uso.

  5. Conecte-se à instância de banco de dados.

  6. Interrompa a replicação da instância do Amazon RDS usando o seguinte comando que usa o procedimento armazenado mysql.rds_stop_replication:

    CALL mysql.rds_stop_replication;
  7. Redefina a configuração de replicação de maneira que essa instância não seja mais identificada como uma réplica, executando o seguinte comando que usa o procedimento armazenado mysql.rds_reset_external_master em seu banco de dados Amazon RDS.

    CALL mysql.rds_reset_external_master;
  8. Ative recursos adicionais do Amazon RDS, como o suporte a multi-AZ e réplicas de leitura. Para obter mais informações, consulte Configurar e gerenciar uma implantação multi-AZ para o Amazon RDS e Trabalhar com réplicas de leitura de instância de banco de dados.