Gerenciar clusters ativos-ativos - Amazon Relational Database Service

Gerenciar clusters ativos-ativos

Os procedimentos armazenados a seguir configuram e gerenciam clusters ativos-ativos do RDS para MySQL. Para ter mais informações, consulte Configurar clusters ativos-ativos para RDS para MySQL.

Esses procedimentos armazenados só estão disponíveis com as instâncias de banco de dados do RDS para MySQL que executam a versão 8.0.35 e versões secundárias posteriores.

mysql.rds_group_replication_advance_gtid

Cria GTIDs de espaço reservado na instância de banco de dados atual.

Sintaxe

CALL mysql.rds_group_replication_advance_gtid( begin_id , end_id , server_uuid );

Parâmetros

begin_id

O ID da transação inicial a ser criado.

end_id

O ID da transação final a ser criado.

begin_id

O group_replication_group_name da transação final a ser criado. O group_replication_group_name é especificada como um UUID no grupo de parâmetros de banco de dados associado à instância de banco de dados.

Observações de uso

Em um cluster ativo-ativo, para que uma instância de banco de dados ingresse em um grupo, todas as transações GTID executadas na nova instância de banco de dados devem existir nos outros membros do cluster. Em casos incomuns, uma nova instância de banco de dados pode ter mais transações a serem agrupadas quando as transações são executadas antes de ingressar na instância. Nesse caso, não é possível remover nenhuma transação existente, mas é possível usar esse procedimento para criar os GTIDs de espaço reservado correspondentes nas outras instâncias de banco de dados do grupo. Antes de fazer isso, verifique se as transações não afetam os dados replicados.

Ao chamar esse procedimento, as transações GTID do server_uuid:begin_id-end_id são criadas com conteúdo vazio. Para evitar problemas de replicação, não use esse procedimento em nenhuma outra condição.

Importante

Evite chamar esse procedimento quando o cluster ativo-ativo estiver funcionando normalmente. Não chame esse procedimento a menos que você entenda as possíveis consequências das transações que está criando. Chamar esse procedimento pode gerar dados inconsistentes.

Exemplo

O seguinte exemplo cria GTIDs de espaço reservado na instância de banco de dados atual:

CALL mysql.rds_group_replication_advance_gtid(5, 6, '11111111-2222-3333-4444-555555555555');

mysql.rds_group_replication_create_user

Cria o usuário de replicação rdsgrprepladmin para replicação do grupo na instância de banco de dados.

Sintaxe

CALL mysql.rds_group_replication_create_user( replication_user_password );

Parâmetros

replication_user_password

A senha do usuário de replicação rdsgrprepladmin.

Observações de uso

  • A senha do usuário de replicação rdsgrprepladmin deve ser a mesma em todas as instâncias de banco de dados em um cluster ativo-ativo.

  • O nome do usuário rdsgrprepladmin é reservado para conexões da replicação do grupo. Nenhum outro usuário, incluindo o usuário principal, pode ter esse nome de usuário.

Exemplo

O seguinte exemplo cria o usuário de replicação rdsgrprepladmin para replicação do grupo na instância de banco de dados:

CALL mysql.rds_group_replication_create_user('password');

mysql.rds_group_replication_set_recovery_channel

Define o canal group_replication_recovery para um cluster ativo-ativo. O procedimento utiliza o usuário reservado rdsgrprepladmin para configurar o canal.

Sintaxe

CALL mysql.rds_group_replication_set_recovery_channel( replication_user_password);

Parâmetros

replication_user_password

A senha do usuário de replicação rdsgrprepladmin.

Observações de uso

A senha do usuário de replicação rdsgrprepladmin deve ser a mesma em todas as instâncias de banco de dados em um cluster ativo-ativo. Uma chamada para o mysql.rds_group_replication_create_user especifica a senha.

Exemplo

O seguinte exemplo define o canal group_replication_recovery para um cluster ativo-ativo:

CALL mysql.rds_group_replication_set_recovery_channel('password');

mysql.rds_group_replication_start

Inicia a replicação do grupo na instância de banco de dados atual.

Sintaxe

CALL mysql.rds_group_replication_start( bootstrap );

Parâmetros

bootstrap

Um valor que especifica se deve inicializar um novo grupo ou ingressar em um grupo existente. 1 inicializa um novo grupo com a instância de banco de dados atual. 0 insere a instância de banco de dados atual em um grupo existente conectando-se aos endpoints definidos no parâmetro group_replication_group_seeds no grupo de parâmetros do banco de dados associado à instância de banco de dados.

Exemplo

O seguinte exemplo inicializa um novo grupo com a instância de banco de dados atual:

CALL mysql.rds_group_replication_start(1);

mysql.rds_group_replication_stop

Interrompe a replicação do grupo na instância de banco de dados atual.

Sintaxe

CALL mysql.rds_group_replication_stop();

Observações de uso

A interrupção da replicação em uma instância de banco de dados não afeta nenhuma outra instância de banco de dados no cluster ativo-ativo.