mysql.rds_set_configuration - Amazon Relational Database Service

mysql.rds_set_configuration

Especifica o número de horas para retenção de logs binários ou o número de segundos para atrasar a replicação.

Sintaxe

CALL mysql.rds_set_configuration(name,value);

Parâmetros

name

(Opcional) O nome do parâmetro de configuração a definir.

value

O valor do parâmetro de configuração.

Observações de uso

O procedimento armazenado mysql.rds_set_configuration está disponível nestas versões do RDS for MySQL:

  • MySQL 5.6

  • MySQL 5.7

  • MySQL 8.0

O procedimento mysql.rds_set_configuration oferece suporte aos seguintes parâmetros de configuração:

Horas de retenção do log binário

O parâmetro binlog retention hours é usado para especificar o número de horas para reter arquivos de log binários. O Amazon RDS normalmente elimina um log binário o mais rápido possível, mas o log binário ainda pode ser necessário para a replicação com um banco de dados MySQL externo ao Amazon RDS. O valor padrão de binlog retention hours é NULL. Este valor padrão é interpretado da seguinte forma:

  • Para o RDS for MySQL, NULL significa que os logs binários não são retidos (0 horas).

  • No Aurora MySQL, NULL significa que os logs binários são limpos lentamente. Os registros binários do Aurora MySQL podem permanecer no sistema por um determinado período, geralmente não mais do que um dia.

Para especificar o número de horas no qual o Amazon RDS manterá os logs binários em uma instância de banco de dados, use o procedimento armazenado mysql.rds_set_configuration e especifique um período com tempo suficiente para que a replicação ocorra, conforme exibido no exemplo a seguir.

call mysql.rds_set_configuration('binlog retention hours', 24);

Para instâncias de banco de dados MySQL, o valor máximo de binlog retention hours é de 168 (7 dias).

Após configurar o período de retenção, monitore o uso de armazenamento da instância de banco de dados para garantir que os logs binários retidos não consumam muito armazenamento.

Atraso de destino

Use o parâmetro target delay para especificar o número de segundos para atrasar a replicação da instância de banco de dados de origem para a réplica de leitura. O atraso especificado se aplica às novas réplicas criadas da instância de banco de dados atual. O Amazon RDS replica as alterações o mais rápido possível, mas alguns ambientes podem desejar atrasar a replicação. Por exemplo, quando a replicação é atrasada, você pode efetuar roll forward de uma réplica de leitura atrasada para o momento imediatamente antes de um desastre. Se uma tabela for descartada acidentalmente, use a replicação atrasada para recuperá-la rapidamente. O valor padrão de target delay é 0 (não atrasar a replicação).

Para a recuperação de desastres, você pode usar esse parâmetro de configuração com o procedimento armazenado mysql.rds_start_replication_until ou o mysql.rds_start_replication_until_gtid. Para efetuar roll forward de alterações para uma réplica de leitura atrasada no momento imediatamente antes de um desastre, é possível executar o procedimento mysql.rds_set_configuration com esse conjunto de parâmetros. Depois que o procedimento mysql.rds_start_replication_until ou mysql.rds_start_replication_until_gtid interromper a replicação, é possível promover a réplica de leitura para ser a nova instância de banco de dados primária usando as instruções em Promoção de uma réplica de leitura a uma instância de banco de dados autônoma.

Para usar o procedimento mysql.rds_rds_start_replication_until_gtid, a replicação baseada em GTID deve estar habilitada. Para ignorar uma transação específica baseada em GTID que seja conhecida por causar desastres, use o procedimento armazenado mysql.rds_skip_transaction_with_gtid. Para obter mais informações sobre como trabalhar com a replicação baseada em GTID, consulte Usar a replicação baseada em GTID para o Amazon RDS for MySQL.

Para especificar o número de segundos em que o Amazon RDS atrasará a replicação de uma réplica de leitura, use o procedimento armazenado mysql.rds_set_configuration e especifique o número de segundos de atraso da replicação. O exemplo a seguir especifica que a replicação é atrasada por pelo menos uma hora (3.600 segundos).

call mysql.rds_set_configuration('target delay', 3600);

O limite do parâmetro target delay é de um dia (86.400 segundos).

nota

O parâmetro target delay só é compatível com o RDS for MySQL.

O parâmetro target delay não tem suporte para o RDS for MySQL versão 8.0.