Tengo una instancia de base de datos de la edición de Amazon Aurora compatible con MySQL que tiene activado el registro binario. Cuando uso la instancia de base de datos como origen para una tarea de AWS Database Migration Service (AWS DMS), se muestra un error. Quiero solucionar este problema.
Descripción corta
Para utilizar la captura de datos de cambios (CDC) con una tarea de AWS DMS de carga completa y exclusiva para CDC o CDC, activa el registro binario en la instancia de escritura de base de datos de origen. Usa la instancia de escritura porque las réplicas de lectura no admiten las operaciones de los CDC. Para obtener más información, consulta Limitaciones del uso de una base de datos MySQL como origen de AWS DMS.
Si no ha activado el registro binario o te conectas a la instancia del lector, verás una entrada de registro similar a la siguiente:
Mensajes
[SOURCE_CAPTURE ]I: Variante del sistema «log_bin» = «OFF»
[SOURCE_CAPTURE ]E: Código de error [10001] : El registro binario debe estar habilitado para el servidor MySQL [1020418] (mysql_endpoint_capture.c:366)
Resolución
Si te conectas a la instancia del lector, identifica la instancia del escritor y, a continuación, conéctate a la instancia del escritor con AWS DMS. Se recomienda conectarse al punto de enlace del clúster, ya que dirige en todo momento al escritor actual del clúster.
Para confirmar si el registro binario está activado, utiliza el punto de enlace del clúster para conectarte al nodo escritor del clúster de origen:
mysql> show global variables like "log_bin";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | OFF |
+---------------+-------+
Si el parámetro log_bin está establecido en OFF, consulta el grupo de parámetros del clúster para comprobar si el parámetro binlog_format está establecido en ROW. Si binlog_format no está establecido en ROW, modifica el parámetro para activar el registro binario para que sea compatible con Aurora MySQL.
Nota: Se trata de un parámetro estático, por lo que debes reiniciar la instancia compatible con Aurora MySQL para que este cambio surta efecto.
Tras establecer el parámetro binlog_format en ROW, confirma que has activado el registro binario. Para ello, conéctate a tu instancia compatible con Aurora MySQL:
mysql> show global variables like "log_bin";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
Tras activar el registro binario y confirmar que utilizas el punto de enlace del escritor del clúster con AWS DMS, reinicia la tarea.
Información relacionada
Uso de una base de datos compatible con MySQL como origen para AWS DMS