Administración de clústeres activo-activo
Los siguientes procedimientos almacenados configuran y administran los clústeres activo-activo de RDS para MySQL. Para obtener más información, consulte Configuración de clústeres activo-activo para RDS para MySQL.
Estos procedimientos almacenados solo están disponibles con instancias de base de datos de RDS para MySQL que ejecuten las siguientes versiones:
-
Todas las versiones MySQL 8.4
-
MySQL 8.0.35 y versiones secundarias posteriores
Temas
mysql.rds_group_replication_advance_gtid
Crea GTID de marcador de posición en la instancia de base de datos actual.
Sintaxis
CALL mysql.rds_group_replication_advance_gtid(
begin_id
,end_id
,server_uuid
);
Parámetros
-
begin_id
-
El identificador de la transacción inicial que se va a crear.
-
end_id
-
El identificador de la transacción final que se va a crear.
-
begin_id
-
El
group_replication_group_name
de la transacción que se va a crear. Elgroup_replication_group_name
se especifica como un UUID en el grupo de parámetros de base de datos asociado a la instancia de base de datos.
Notas de uso
En un clúster activo-activo, para que una instancia de base de datos se una a un grupo, todas las transacciones GTID ejecutadas en la nueva instancia de base de datos deben existir en los demás miembros del clúster. En casos poco habituales, es posible que una nueva instancia de base de datos tenga más transacciones si las transacciones se ejecutan antes de unir la instancia al grupo. En este caso, no puede eliminar ninguna transacción existente, pero puede utilizar este procedimiento para crear los GTID de marcador de posición correspondientes en las demás instancias de base de datos del grupo. Antes de hacerlo, compruebe que las transacciones no afectan a los datos replicados.
Al llamar a este procedimiento, las transacciones GTID de server_uuid:begin_id-end_id
se crean con contenido vacío. Para evitar problemas de replicación, no utilice este procedimiento en ninguna otra condición.
importante
Evite llamar a este procedimiento cuando el clúster activo-activo funcione normalmente. No llame a este procedimiento a menos que conozca las posibles consecuencias de las transacciones que va a crear. El uso de este procedimiento puede producir datos incoherentes.
Ejemplo
En el siguiente ejemplo, se crean GTID de marcador de posición en la instancia de base de datos actual:
CALL mysql.rds_group_replication_advance_gtid(
5
,6
, '11111111-2222-3333-4444-555555555555
');
mysql.rds_group_replication_create_user
Crea el usuario de replicación rdsgrprepladmin
para la replicación de grupo en la instancia de base de datos.
Sintaxis
CALL mysql.rds_group_replication_create_user(
replication_user_password
);
Parámetros
-
replication_user_password
-
La contraseña del usuario de replicación
rdsgrprepladmin
.
Notas de uso
-
La contraseña del usuario de replicación
rdsgrprepladmin
debe ser la misma en todas las instancias de base de datos de un clúster activo-activo. -
El nombre de usuario
rdsgrprepladmin
está reservado para las conexiones de la replicación de grupo. Ningún otro usuario, incluido el usuario maestro, puede tener este nombre de usuario.
Ejemplo
En el siguiente ejemplo, se crea el usuario de replicación rdsgrprepladmin
para la replicación de grupo en la instancia de base de datos:
CALL mysql.rds_group_replication_create_user('
password
');
mysql.rds_group_replication_set_recovery_channel
Establece el canal group_replication_recovery
para un clúster activo-activo. El procedimiento utiliza el usuario reservado rdsgrprepladmin
para configurar el canal.
Sintaxis
CALL mysql.rds_group_replication_set_recovery_channel(
replication_user_password
);
Parámetros
-
replication_user_password
-
La contraseña del usuario de replicación
rdsgrprepladmin
.
Notas de uso
La contraseña del usuario de replicación rdsgrprepladmin
debe ser la misma en todas las instancias de base de datos de un clúster activo-activo. Una llamada a mysql.rds_group_replication_create_user
especifica la contraseña.
Ejemplo
En el siguiente ejemplo, se establece el canal group_replication_recovery
para un clúster activo-activo.
CALL mysql.rds_group_replication_set_recovery_channel('
password
');
mysql.rds_group_replication_start
Inicia la replicación de grupo en la instancia de base de datos actual.
Sintaxis
CALL mysql.rds_group_replication_start(
bootstrap
);
Parámetros
-
bootstrap
-
Un valor que especifica si se debe inicializar un grupo nuevo o unirse a un grupo existente.
1
inicializa un grupo nuevo con la instancia de base de datos actual.0
une la instancia de base de datos actual a un grupo existente conectándose a los puntos de conexión definidos en el parámetrogroup_replication_group_seeds
del grupo de parámetros de base de datos asociado a la instancia de base de datos.
Ejemplo
En el siguiente ejemplo, se inicializa un grupo nuevo con la instancia de base de datos actual:
CALL mysql.rds_group_replication_start(
1
);
mysql.rds_group_replication_stop
Detiene la replicación de grupo en la instancia de base de datos actual.
Sintaxis
CALL mysql.rds_group_replication_stop();
Notas de uso
Cuando se detiene la replicación en una instancia de base de datos, esto no afecta a ninguna otra instancia de base de datos del clúster activo-activo.