mysql.rds_set_external_master_gtid - Amazon Relational Database Service

mysql.rds_set_external_master_gtid

Configura la reproducción basada en GTID desde una instancia de MariaDB que se ejecuta fuera de Amazon RDS a una instancia de base de datos de MariaDB. Este procedimiento almacenado solo se admite cuando la instancia de MariaDB externa tiene la versión 10.0.24 o posterior. Cuando configure una replicación en la que una o las dos instancias no admitan los identificadores de transacciones globales (GTID) de MariaDB, use mysql.rds_set_external_master.

El uso de GTID para la replicación proporciona características de seguridad en caso de bloqueo que no ofrece la replicación con registros binarios, así que es el procedimiento recomendado cuando las instancias que se van a replicar lo admiten.

Sintaxis

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

Parámetros

host_name

Cadena. El nombre de host o dirección IP de la instancia de MariaDB ejecutada fuera de Amazon RDS que se convertirá en instancia de origen.

host_port

Entero. El puerto usado por la instancia de MariaDB ejecutada fuera de Amazon RDS que se configurará como instancia de origen. Si la configuración de la red incluye la replicación del puerto SSH que convierte el número de puerto, especifique el número de puerto expuesto por SSH.

replication_user_name

Cadena. ID de un usuario con permisos REPLICATION SLAVE en la instancia de base de datos de MariaDB que se va a configurar como réplica de lectura.

replication_user_password

Cadena. La contraseña del ID de usuario especificado en replication_user_name.

gtid

Cadena. El ID de transacción global de la instancia de origen desde el que debe comenzar la replicación.

Puede usar @@gtid_current_pos para obtener el GTID actual si la instancia de origen se ha bloqueado mientras se configura la replicación con el fin de que el registro binario no cambie entre los puntos en los que se obtiene el GTID y comienza la replicación.

De lo contrario, si usa mysqldump versión 10.0.13 o posterior para rellenar la instancia de réplica antes de comenzar la replicación, puede obtener la posición de GTID en la salida usando las opciones --master-data o --dump-slave. Si no usa mysqldump 10.0.13 o posterior, puede ejecutar SHOW MASTER STATUS o usar las mismas opciones de mysqldump para obtener el nombre y la posición del archivo de registro binario y convertirlos a continuación en un GTID ejecutando BINLOG_GTID_POS en la instancia de MariaDB externa:

SELECT BINLOG_GTID_POS('<binary log file name>', <binary log file position>);

Para obtener más información acerca de la implementación de los GTID en MariaDB, vaya a Global Transaction ID en la documentación de MariaDB.

ssl_encryption

Valor que especifica si el cifrado de la capa de conexión segura (SSL) se usa en la conexión de reproducción. El 1 especifica que se usa el cifrado SSL; el 0 especifica que no se usa el cifrado. El valor predeterminado es 0.

nota

La opción MASTER_SSL_VERIFY_SERVER_CERT no es compatible. Esta opción se establece en 0, lo que significa que la conexión está cifrada, pero los certificados no se verifican.

Notas de uso

El usuario maestro debe ejecutar el procedimiento mysql.rds_set_external_master_gtid. Se debe ejecutar en la instancia de base de datos de MariaDB que se está configurando como réplica de una instancia de MariaDB que se ejecuta fuera de Amazon RDS. Antes de ejecutar mysql.rds_set_external_master_gtid, debe haber configurado la instancia de MariaDB que se ejecuta fuera de Amazon RDS como instancia de origen. Para obtener más información, consulte Importación de datos en una instancia de base de datos de MariaDB.

aviso

No use mysql.rds_set_external_master_gtid para administrar la replicación entre dos instancias de base de datos de Amazon RDS. Úselo solo cuando replique con una instancia de MariaDB que se ejecute fuera de RDS. Para obtener información sobre la administración de la replicación entre instancias de base de datos de Amazon RDS, consulte Trabajo con réplicas de lectura.

Después de llamar a mysql.rds_set_external_master_gtid para configurar una instancia de base de datos de Amazon RDS como réplica de lectura, puede llamar a mysql.rds_start_replication en la réplica para iniciar el proceso de replicación. Puede llamar a mysql.rds_reset_external_master para eliminar la configuración de la réplica de lectura.

Cuando se llama a mysql.rds_set_external_master_gtid, Amazon RDS registra la hora, el usuario y una acción "set master" en las tablas mysql.rds_history y mysql.rds_replication_status.

Ejemplos

Cuando se ejecuta en una instancia de base de datos de MariaDB, el siguiente ejemplo la configura como réplica de una instancia de MariaDB que se ejecuta fuera de Amazon RDS.

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