Ignorar o erro de replicação atual para o RDS para MySQL - Amazon Relational Database Service

Ignorar o erro de replicação atual para o RDS para MySQL

Você pode ignorar um erro na réplica de leitura se ele estiver fazendo com que a réplica de leitura pare de responder e não afetar a integridade dos dados.

nota

Primeiro, você deve verificar se é possível ignorar o erro com segurança. Em um utilitário do MySQL, conecte-se à réplica de leitura e execute o seguinte comando do MySQL.

SHOW REPLICA STATUS\G

Para obter informações sobre os valores retornados, consulte a documentação do MySQL.

As versões anteriores do MySQL usavam SHOW SLAVE STATUS em vez de SHOW REPLICA STATUS. Se você estiver usando uma versão do MySQL anterior à 8.0.23, use SHOW SLAVE STATUS.

É possível ignorar um erro na réplica de leitura das seguintes maneiras.

Chamando o procedimento mysql.rds_skip_repl_error

O Amazon RDS fornece um procedimento armazenado que é possível chamar para ignorar um erro nas suas réplicas de leitura. Primeiro, conecte-se à sua réplica de leitura. Depois disso, emita os comandos apropriados, conforme mostrado a seguir. Para obter mais informações, consulteConexão a uma instância de banco de dados executando o mecanismo de banco de dados do MySQL

Para ignorar o erro, emita o seguinte comando.

CALL mysql.rds_skip_repl_error;

Esse comando não terá efeito se você o executar na instância de banco de dados de origem ou em uma réplica de leitura que não apresentou um erro de replicação.

Para mais informações, como as versões compatíveis com o MySQL mysql.rds_skip_repl_error, veja mysql.rds_skip_repl_error.

Importante

Se você tentar chamar mysql.rds_skip_repl_error e obter o seguinte erro: ERROR 1305 (42000): PROCEDURE mysql.rds_skip_repl_error does not exist, faça upgrade da sua instância de banco de dados do MySQL para a versão secundária mais recente ou uma das versões secundárias mínimas listadas em mysql.rds_skip_repl_error.

Configurar o parâmetro slave_skip_errors

Para ignorar um ou mais erros, é possível definir o parâmetro estático slave_skip_errors na réplica de leitura. Esse parâmetro pode ser definido para ignorar um ou mais códigos de erro de replicação específicos. Atualmente, é possível definir esse parâmetro somente para instâncias de banco de dados do RDS para MySQL 5.7. Depois de alterar a configuração desse parâmetro, certifique-se de reinicializar sua instância de banco de dados para que a nova configuração entre em vigor. Para obter mais informações sobre definir esse parâmetro, consulte a documentação do MySQL.

Convém definir esse parâmetro em um grupo de parâmetros de banco de dados separado. É possível associar esse grupo de parâmetros de banco de dados somente às réplicas de leitura que precisam ignorar erros. Seguir essa prática recomendada reduz o possível impacto em outras instâncias de banco de dados e réplicas de leitura.

Importante

Definir um valor não padrão para esse parâmetro pode resultar em inconsistência de replicação. Apenas defina esse parâmetro como um valor não padrão se você tiver esgotado outras opções para resolver o problema e tiver certeza do impacto potencial sobre os dados da réplica de leitura.