mysql.rds_set_configuration - Amazon Relational Database Service

mysql.rds_set_configuration

Especifica el número de horas que se deben conservar los registros binarios o el número de segundos que se retrasará la replicación.

Sintaxis

CALL mysql.rds_set_configuration(name,value);

Parámetros

name

El nombre del parámetro de configuración que se va a definir.

value

El valor del parámetro de configuración.

Notas de uso

El procedimiento mysql.rds_set_configuration admite los parámetros de configuración siguientes:

Horas de retención de binlog

El parámetro binlog retention hours se usa para especificar la cantidad de horas que se deben retener los archivos de registro binario. Por lo general, Amazon RDS limpia un registro binario lo antes posible, pero el registro binario podría seguir siendo necesario para la reproducción con una base de datos de MySQL externa a Amazon RDS. El valor predeterminado de binlog retention hours es NULL. Este valor predeterminado se interpreta de la siguiente manera:

  • Para RDS para MySQL, NULL significa que los registros binarios no se conservan (0 horas).

  • Para Aurora MySQL, NULL significa que los registros binarios se limpian en diferido. Los registros binarios de Aurora MySQL pueden permanecer en el sistema durante un cierto periodo, generalmente, no más de un día.

Para especificar el número de horas que Amazon RDS debe retener los registros binarios en una instancia de base de datos, utilice el procedimiento almacenado mysql.rds_set_configuration y especifique un periodo lo bastante largo como para realizar la replicación, como se muestra en el siguiente ejemplo.

call mysql.rds_set_configuration('binlog retention hours', 24);

Para la mayoría de las instancias de base de datos de MySQL, el valor máximo de binlog retention hours es 168 (7 días).

Una vez que haya definido el periodo de retención, monitorice el uso del almacenamiento para la instancia de base de datos con el fin de asegurarse de que los logs binarios conservados no consuman demasiado almacenamiento.

Retraso de destino

Utilice el parámetro target delay para especificar el número de segundos que se retrasará la replicación desde la instancia de base de datos de origen a la réplica de lectura. El retraso especificado se aplica a las nuevas réplicas creadas desde la instancia de base de datos actual. Amazon RDS suele reproducir los cambios lo antes posible, pero, en algunos entornos, puede ser conveniente retrasar la reproducción. Por ejemplo, cuando la replicación se ha retrasado, puede restaurar los cambios en una réplica de lectura retrasada al momento justo anterior de un desastre. Si una tabla se elimina por accidente, puede usar la replicación retrasada para recuperarla rápidamente. El valor predeterminado de target delay es 0 (no retrasar la replicación).

Para la recuperación de desastres, puede utilizar este parámetro de configuración con el procedimiento almacenado mysql.rds_start_replication_until o el procedimiento almacenado mysql.rds_start_replication_until_gtid. Para restaurar los cambios en una réplica de lectura retrasada al momento justo anterior de un desastre puede ejecutar el procedimiento mysql.rds_set_configuration con este parámetro establecido. Después de que el procedimiento mysql.rds_start_replication_until o mysql.rds_start_replication_until_gtid detenga la replicación, puede promocionar la réplica de lectura para que sea la nueva instancia de base de datos primaria utilizando las instrucciones de Promoción de una réplica de lectura para convertirla en una instancia de base de datos independiente.

Para utiliza el procedimiento mysql.rds_rds_start_replication_until_gtid, debe habilitarse la replicación basada en GTID. Para omitir una transacción específica basada en GTID que se sabe que causa un desastre, puede usar el procedimiento almacenado mysql.rds_skip_transaction_with_gtid. Para obtener más información sobre el uso de la replicación basada en GTID, consulte Uso de la replicación basada en GTID para Amazon RDS for MySQL.

Para especificar el número de segundos que Amazon RDS debe retrasar la replicación en una réplica de lectura, utilice el procedimiento almacenado mysql.rds_set_configuration y especifique el número de segundos que deberá retrasarse la replicación. En el ejemplo siguiente se especifica que la replicación se retrasa al menos una hora (3600 segundos).

call mysql.rds_set_configuration('target delay', 3600);

El límite del parámetro target delay es de un día (86400 segundos).

nota

El parámetro target delay solo se admite para RDS for MySQL.

El target delay parámetro no es compatible con la versión 8.0 de RDS for MySQL.