Trabalhar com réplicas de leitura MySQL
A seguir, você pode encontrar informações específicas sobre como trabalhar com réplicas de leitura no RDS para MySQL. Para obter informações gerais sobre as réplicas de leitura e as instruções de como usá-las, consulte Trabalhar com réplicas de leitura de instância de banco de dados.
Para ter mais informações sobre réplicas de leitura do MySQL, consulte os tópicos a seguir.
Configurar réplicas de leitura com o MySQL
Antes que uma instância de banco de dados do MySQL possa servir como uma fonte de replicação, certifique-se de habilitar os backups automáticos na instância de banco de dados de origem. Para fazer isso, defina o período de retenção de backup como um valor diferente de 0. Esse requisito também se aplica a uma réplica de leitura que seja a instância de banco de dados de origem de outra réplica de leitura. Os backups automáticos são compatíveis somente com réplicas de leitura que executam qualquer versão do MySQL. Você pode configurar a replicação com base nas coordenadas do log binário para uma instância de banco de dados MySQL.
No RDS para MySQL versão 5.7.44 e versões posteriores do MySQL 5.7 e no RDS para MySQL 8.0.28 e versões 8.0 posteriores, é possível configurar a replicação usando identificadores de transação globais (GTIDs). Para ter mais informações, consulte Usar a replicação baseada em GTID.
Você pode criar até quinze réplicas de leitura de uma instância de banco de dados na mesma região. Para que a replicação funcione efetivamente, cada réplica de leitura deve ter a mesma quantidade de recursos de computação e de armazenamento que a instância de banco de dados de origem. Se você dimensionar a instância de banco de dados de origem, dimensione as réplicas de leitura também.
O RDS para MySQL é compatível com réplicas de leitura em cascata. Para saber mais sobre como configurar réplicas de leitura em cascata, consulte Usar réplicas de leitura em cascata com o RDS para MySQL.
É possível executar várias ações simultâneas de criação ou exclusão de réplicas de leitura que fazem referência à mesma instância de banco de dados de origem. Ao realizar essas ações, permaneça dentro do limite de quinze réplicas de leitura para cada instância de origem.
Uma réplica de leitura de uma instância de banco de dados MySQL não pode usar uma versão de mecanismo de banco de dados inferior à sua instância de banco de dados de origem.
Preparar instâncias de banco de dados MySQL que usam MyISAM
Se sua instância de banco de dados MySQL usar um mecanismo não transacional, como o MyISAM, será necessário realizar as etapas a seguir para configurar sua réplica de leitura com sucesso. Essas etapas são necessárias para garantir que a réplica de leitura tenha uma cópia consistente de seus dados. Essas etapas não são necessárias caso todas as suas tabelas utilizem um mecanismo transacional como InnoDB.
-
Interrompa todas as operações de linguagem de manipulação de dados (DML) e de linguagem de definição de dados (DDL) em tabelas não transacionais na instância de banco de dados de origem e aguarde pela conclusão delas. Comandos SELECIONAR podem continuar sendo executados.
Descarregue e bloqueie as tabelas na instância do banco de dados de origem.
Crie a réplica de leitura usando um dos métodos nas seções a seguir.
-
Verifique o andamento da criação da réplica de leitura usando, por exemplo, a operação da API
DescribeDBInstances
. Após a réplica de leitura estar disponível, desbloqueie as tabelas da instância de banco de dados de origem e retome as operações de banco de dados normais.