mysql.rds_set_external_master_gtid - Amazon Relational Database Service

mysql.rds_set_external_master_gtid

Configura a replicação baseada em GTID de uma instância do MariaDB executada externamente em relação ao Amazon RDS para uma instância de banco de dados MariaDB. Esse procedimento armazenado é compatível apenas com a versão 10.0.24 ou posteriores da instância externa do MariaDB. Ao configurar a replicação na qual uma ou ambas as instâncias não oferecem suporte a identificadores de transações globais (GTIDs) do MariaDB, use mysql.rds_set_external_master.

O uso de GTIDs para replicação oferece recursos de segurança contra falhas não disponibilizados pela replicação de log binário, por isso recomendamos nos casos em que há o suporte pelas instâncias de replicação.

Sintaxe

CALL mysql.rds_set_external_master_gtid( host_name , host_port , replication_user_name , replication_user_password , gtid , ssl_encryption );

Parâmetros

host_name

String. O nome de host ou o endereço IP da instância do MariaDB sendo executada externamente ao Amazon RDS que se tornará a instância de origem.

host_port

Inteiro. A porta usada para executar a instância do MariaDB sendo executada externamente ao Amazon RDS a ser configurada como a instância de origem. Se sua configuração de rede inclui replicação de porta SSH que converte o número da porta, especifique o número da porta exposto pelo SSH.

replication_user_name

String. O ID de um usuário com permissões REPLICATION SLAVE na instância de banco de dados MariaDB deve ser configurado como a réplica de leitura.

replication_user_password

String. A senha do ID de usuário especificada em replication_user_name.

gtid

String. O ID da transação global na instância de origem a partir da qual a replicação deve iniciar.

É possível usar o @@gtid_current_pos para obter o GTID atual se a instância de origem tiver sido bloqueada enquanto você estiver configurando a replicação, de modo que o log binário não mude entre os pontos quando você obtiver o GTID e quando a replicação iniciar.

Caso contrário, se você estiver usando o mysqldump versão 10.0.13 ou posterior para preencher a instância de réplica antes de iniciar a replicação, será possível obter a posição de GTID na saída usando as opções --master-data ou --dump-slave. Se você não estiver usando o mysqldump versão 10.0.13 ou superior, você poderá executar o SHOW MASTER STATUS ou usar as mesmas opções de mysqldump para obter o nome e a posição do arquivo de log binário, convertê-los 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>);

Para obter mais informações sobre a implantação de GTIDs do MariaDB, acesse Global Transaction ID na documentação do MariaDB.

ssl_encryption

Um valor que especifica se a criptografia do Secure Sockets Layer (SSL) será usada na conexão de replicação. 1 especifica para usar criptografia de SSL, 0 especifica para não usar criptografia. O padrão é 0.

nota

A opção MASTER_SSL_VERIFY_SERVER_CERT não tem suporte. Essa opção é definida como 0, o que significa que a conexão é criptografada, mas os certificados não são verificados.

Observações de uso

O procedimento mysql.rds_set_external_master_gtid deve ser executado pelo usuário mestre. Ele deve ser executado na instância de banco de dados MariaDB que você está configurando como a réplica de uma instância do MariaDB, sendo executada externamente ao Amazon RDS. Antes de executar mysql.rds_set_external_master_gtid, é necessário configurar a instância do MariaDB sendo executada externamente ao Amazon RDS como uma instância de origem. Para obter mais informações, consulte Importação de dados para uma instância de banco de dados MariaDB.

Atenção

Não use o mysql.rds_set_external_master_gtid para gerenciar uma replicação entre duas instâncias de banco de dados do Amazon RDS. Use-o apenas ao replicar com uma instância MariaDB sendo executada externamente ao RDS. Para obter informações sobre como gerenciar a replicação entre instâncias de banco de dados do Amazon RDS, consulte Trabalhar com réplicas de leitura de instância de banco de dados.

Após chamar mysql.rds_set_external_master_gtid para configurar uma instância de banco de dados do Amazon RDS como uma réplica de leitura, você poderá chamar mysql.rds_start_replication na réplica para iniciar o processo de replicação. É possível chamar mysql.rds_reset_external_master para remover a configuração da réplica de leitura.

Quando mysql.rds_set_external_master_gtid é chamado, o Amazon RDS grava a hora, o usuário e uma ação do "mestre do conjunto" nas tabelas mysql.rds_history e mysql.rds_replication_status.

Exemplos

Quando executado em uma instância de banco de dados MariaDB, o exemplo a seguir o configura como a réplica de uma instância do MariaDB sendo executada externamente ao Amazon RDS.

call mysql.rds_set_external_master_gtid ('Sourcedb.some.com',3306,'ReplicationUser','SomePassW0rd','0-123-456',0);