mysql.rds_set_configuration
Spécifie le nombre d'heures pendant lequel les journaux binaires doivent être conservés ou le nombre de secondes pendant lequel retarder la réplication.
Syntaxe
CALL mysql.rds_set_configuration(name,value);
Paramètres
- nom
-
Nom du paramètre de configuration à définir.
- valeur
-
Valeur du paramètre de configuration.
Notes d'utilisation
La procédure stockée mysql.rds_set_configuration
est disponible dans les versions de Amazon RDS MySQL suivantes :
-
MySQL 5.6
-
MySQL 5.7
-
MySQL 8.0
La procédure mysql.rds_set_configuration
prend en charge des paramètres de configuration suivants :
Nombre d'heures de conservation du journal binaire
Le paramètre binlog retention hours
est utilisé pour spécifier le nombre d'heures de rétention de fichiers de journaux
binaires. Amazon RDS purge normalement un journal binaire dès que possible, mais il
se peut que le journal binaire continue d'être requis pour la réplication avec une
base de données MySQL extérieure à Amazon RDS. La valeur par défaut de binlog retention hours
est NULL (ne pas conserver les journaux binaires).
Pour spécifier le nombre d'heures pendant lequel Amazon RDS doit conserver les journaux
binaires sur une instance de base de données, utilisez la procédure stockée mysql.rds_set_configuration
et spécifiez une période suffisamment longue pour que la réplication se produise,
comme illustré dans l'exemple suivant.
call mysql.rds_set_configuration('binlog retention hours', 24);
Pour les instances de base de données MySQL, la valeur binlog retention hours
maximale est 168 (7 jours).
Après avoir défini la période de rétention, surveillez l'utilisation du stockage de l'instance de base de données afin de garantir que les journaux binaires conservés n'utilisent pas un espace de stockage trop grand.
Délai cible
Utilisez le paramètre target delay
pour spécifier le nombre de secondes dont il faut retarder la réplication à partir
de la base de données source vers le réplica en lecture. Le décalage spécifie s'applique
aux nouveaux réplicas créés à partir de l'instance de base de données actuelle. Amazon
RDS réplique normalement les modifications dès que possible, mais certains environnement
peuvent vouloir retarder la réplication. Par exemple, lorsque la réplication est retardée,
vous pouvez restaurer par progression un réplica en lecture retardé au moment précédant
un sinistre. Si une table est supprimée par mégarde, vous pouvez utiliser la réplication
retardée pour la récupérer rapidement. La valeur par défaut de target delay
est 0
(ne pas retarder la réplication).
Pour la reprise après sinistre, vous pouvez utiliser ce paramètre de configuration
avec la procédure stockée mysql.rds_start_replication_until ou mysql.rds_start_replication_until_gtid. Pour restaurer par progression les modifications dans un réplica en lecture retardé
au moment précédant un sinistre, vous pouvez exécuter la procédure mysql.rds_set_configuration
avec ce paramètre défini. Une fois que la procédure mysql.rds_start_replication_until
ou mysql.rds_start_replication_until_gtid
a arrêté la réplication, vous pouvez promouvoir le réplica en lecture pour qu'il
devienne la nouvelle instance de base de données principale, en utilisant les instructions
figurant dans Promotion d'un réplica en lecture en instance de bases de données autonome.
Pour utiliser la procédure mysql.rds_rds_start_replication_until_gtid
, la réplication basée sur des identifiants de transaction globaux (GTID) doit être
activée. Pour ignorer une transaction basée sur des identifiants de transaction globaux
spécifique qui est réputée pour entraîner des défaillances, vous pouvez utiliser la
procédure stockée mysql.rds_skip_transaction_with_gtid. Pour plus d'informations sur la gestion d'une réplication basée sur des identifiants
de transaction globaux, consultez Utilisation de la réplication basée sur des identifiants de transaction globaux (GTID)
pour Amazon RDS MySQL.
Pour spécifier le nombre de secondes pendant lesquelles Amazon RDS retardera la réplication
vers un réplica en lecture, utilisez la procédure stockée mysql.rds_set_configuration
et spécifiez le nombre de secondes dont il faut retarder la réplication. L'exemple
suivant spécifie que la réplication est retardée d'au moins une heure (3 600 secondes).
call mysql.rds_set_configuration('target delay', 3600);
La limite du paramètre target delay
est une journée (soit 86 400 secondes).
Le paramètre target delay
est pris en charge uniquement pour Amazon RDS MySQL.
Le paramètre target delay
n'est pas pris en charge pour Amazon RDS MySQL version 8.0.