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 usamysqldump
10.0.13 o posterior, puede ejecutarSHOW MASTER STATUS
o usar las mismas opciones demysqldump
para obtener el nombre y la posición del archivo de registro binario y convertirlos a continuación en un GTID ejecutandoBINLOG_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 de instancias de base de datos.
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);