Comment puis-je activer la journalisation binaire pour mon cluster Amazon Aurora MySQL ?

Dernière mise à jour : 12/12/2022

Je souhaite répliquer un cluster Amazon Aurora édition compatible avec MySQL vers une base de données externe compatible avec MySQL ou créer un réplica dans plusieurs régions.

Brève description

Par défaut, la journalisation binaire est désactivée sur Aurora compatible avec MySQL. Pour vérifier si la journalisation binaire est actuellement désactivée sur votre instance de base de données, exécutez la commande suivante :

mysql> show variables like 'log_bin';
+----------------+------------+
| Variable_name  | Value      |
+----------------+------------+
| log_bin        | OFF        |
+----------------+------------+

Pour répliquer vers une base de données externe compatible avec MySQL ou créer un réplica dans plusieurs régions, vous devez activer la journalisation binaire pour votre cluster de base de données.

Remarque : lorsque la journalisation binaire est activée sur Aurora, le délai de reprise après un incident peut être plus long. Cela est dû au fait qu'une restauration complète du journal binaire est effectuée sur l'instance en écriture. Le délai de reprise après incident dépend de la quantité de données enregistrées dans les journaux binaires, en fonction du format binlog_format. La durée dépend également de votre charge de travail.

Solution

  1. Ouvrez la console Amazon Relational Database Service (Amazon RDS).
  2. Dans le panneau de navigation, sélectionnez Groupe de paramètres.
    Remarque : si vous utilisez le groupe de paramètres de cluster de base de données Aurora par défaut, créez un nouveau groupe de paramètres de cluster de base de données.
  3. Pour Type, sélectionnez Groupe de paramètres de cluster DB.
  4. Sélectionnez le groupe de paramètres de cluster de base de données personnalisé, puis cliquez sur Parameter group actions (Actions du groupe de paramètres) et Modifier.
  5. Modifiez la valeur du paramètre binlog_format. Utilisez par exemple ROW (LIGNE), Statement (Instruction) ou MIXED (MIXTE). À moins que vous n'ayez besoin d'un format spécifique de journaux binaires, il s'agit d'une bonne pratique à mettre en œuvre.
  6. Choisissez Enregistrer les modifications.

Remarque : lorsque le format de journalisation binaire est défini sur ROW (LIGNE), des fichiers de journaux binaires très volumineux peuvent être créés. Ces derniers réduisent la quantité de stockage disponible pour un cluster de base de données. Ils peuvent également augmenter le délai nécessaire à la restauration d'un cluster de bases de données.

Prenez également note que binlog_format est un paramètre statique. Vous devez redémarrer l'instance de base de données en écriture dans votre cluster pour que la modification soit prise en compte. Ce redémarrage est nécessaire même si vous disposez déjà d'un groupe de paramètres de cluster de bases de données personnalisé.

Si vous avez créé un groupe de paramètres de cluster de base de données à l'étape 2, associez-le à votre cluster de base de données :

  1. Ouvrez la console Amazon RDS.
  2. Dans le volet de navigation, sous Clusters, choisissez « Modify » (Modifier).
  3. Remplacez le groupe de paramètres de cluster DB par le nouveau groupe de paramètres de cluster de base de données. Sélectionnez ensuite Appliquer immédiatement.
  4. Cliquez sur Continuer, puis sur Modifier le cluster.

Remarque : après avoir modifié le groupe de paramètres de cluster de base de données associé à un cluster de base de données, vous devez redémarrer l'instance de base de données principale du cluster pour appliquer les modifications.

Pour vérifier que la journalisation binaire est désormais activée sur votre cluster de base de données, exécutez à nouveau la commande suivante :

mysql> show variables like 'log_bin';
+----------------+------------+
| Variable_name  | Value      |
+----------------+------------+
| log_bin        | ON         |
+----------------+------------+
mysql> show variables like 'binlog_format';
+----------------+------------+
| Variable_name  | Value      |
+----------------+------------+
| binlog_format  | STATEMENT  |
+----------------+------------+