Comment puis-je dépanner des erreurs de journalisation binaire que j'ai reçues lors de l'utilisation d'AWS DMS avec Aurora MySQL comme source ?

Lecture de 3 minute(s)
0

J'ai une instance de base de données Amazon Aurora qui exécute MySQL et la journalisation binaire est activée. J'utilise l'instance de base de données Aurora comme source pour une tâche AWS Database Migration Service (AWS DMS) et j'ai reçu une erreur. Comment résoudre ce problème ?

Brève description

Vous devez activer la journalisation binaire sur l'instance en écriture de la base de données source Aurora Édition compatible avec MySQL pour utiliser la capture des données modifiées (CDC) avec une tâche AWS DMS qui est « FULL LOAD AND CDC » (CHARGEMENT COMPLET ET CDC) ou CDC uniquement. Vous devez utiliser l'instance en écriture car les réplicas en lecture ne sont pas pris en charge comme source pour les opérations CDC. Pour plus d'informations, reportez-vous à Limites lors de l'utilisation d'une base de données MySQL comme source pour AWS DMS.

Si la journalisation binaire n'est pas activée ou si vous êtes connecté à l'instance en lecture, une entrée de journal semblable à ce qui suit s'affiche :

Messages
[SOURCE_CAPTURE ]I: System var 'log_bin' = 'OFF'
[SOURCE_CAPTURE ]E: Error Code [10001] : Binary Logging must be enabled for MySQL server [1020418] (mysql_endpoint_capture.c:366)

Resolution

Si vous êtes connecté à l'instance en lecture, commencez par identifier l'instance en écriture, puis connectez-vous à l'instance en écriture avec AWS DMS. Il est recommandé de se connecter au point de terminaison du cluster car le point de terminaison du cluster pointe à tout moment vers l'instance en écriture actuelle du cluster.

Connectez-vous ensuite au nœud en écriture du cluster Aurora source en utilisant le point de terminaison du cluster pour confirmer que la journalisation binaire est activée :

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

Si le paramètre log_bin est défini sur OFF (ARRÊT), vérifiez le groupe de paramètres de cluster du cluster Aurora pour confirmer que le paramètre binlog_format est défini sur ROW (LIGNE). Si binlog_format n'est pas défini sur ROW (LIGNE), modifiez le paramètre pour activer la journalisation binaire pour Aurora pour MySQL.

Remarque : il s'agit d'un paramètre statique. Vous devez donc redémarrer votre instance Aurora pour que cette modification prenne effet.

Une fois que vous avez défini le paramètre binlog_format sur « ROW » (LIGNE), vérifiez que la journalisation binaire est activée en vous connectant à votre instance Aurora :

mysql> show global variables like "log_bin";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+

Redémarrez votre tâche après avoir activé la journalisation binaire et confirmé que vous utilisez le point de terminaison en écriture du cluster avec AWS DMS.


Informations connexes

Utilisation d'une base de données compatible MySQL comme source pour AWS DMS

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 2 ans