Uso de la replicación basada en GTID - Amazon Aurora

Uso de la replicación basada en GTID

El siguiente contenido explica cómo utilizar los identificadores de transacciones globales (GTID) con replicación de registro binario (binlog) entre un clúster de Aurora MySQL y un origen externo.

nota

Para Aurora, solo puede usar esta característica con clústeres de Aurora MySQL que usan la replicación del binlog en una base de datos de MySQL externa o desde ella. La otra base de datos puede ser una instancia de Amazon RDS MySQL, una base de datos de MySQL en las instalaciones o un clúster de base de datos de Aurora en una Región de AWS diferente. Para obtener información sobre cómo configurar ese tipo de replicación, consulte Replicación entre Aurora y MySQL o entre Aurora y otro clúster de base de datos de Aurora (replicación de registro binario).

Si utiliza la replicación del binlog y no está familiarizado con la replicación basada en GTID con MySQL, consulte Replication with global transaction identifiers en la documentación de MySQL.

La replicación basada en GTID no es compatible con las versiones 2 y 3 de Aurora MySQL.

Información general de identificadores de transacciones globales (GTID)

Los identificadores de transacciones globales (GTID) son indentificadores únicos generados por transacciones confirmadas por MySQL. Puede utilizar GTID para que la replicación del binlog sea más simple y sencilla para la solución de problemas.

nota

Cuando Aurora sincroniza datos entre las instancias de base de datos en un clúster, ese mecanismo de replicación no incluye el registro binario (binlog). Para Aurora MySQL, la replicación basada de GTID solo se aplica cuando también utiliza la replicación del binlog para realizar la replicación dentro o fuera de un clúster de base de datos de Aurora MySQL a partir de una base de datos compatible con MySQL externa.

MySQL usa dos tipos distintos de transacciones para la replicación del binlog:

  • Transacciones de GTID: transacciones que se identifican mediante GTID.

  • Transacciones anónimas: transacciones que no tienen un GTID asignado.

En una configuración de replicación, los GTID son únicos en todas las instancias de base de datos. Los GTID simplifican la configuración de replicación porque cuando se usan no es necesario hacer referencia a las posiciones de los archivos de registro. Los GTID también simplifican el seguimiento de las transacciones replicadas y determinan si las instancias de origen y las réplicas son coherentes.

Normalmente utiliza la replicación basada en GTID con Aurora cuando efectúa la replicación desde una base de datos compatible con MySQL externa en un clúster de Aurora. Puede configurar esta configuración de replicación como parte de una migración desde una base de datos de Amazon RDS o local en Aurora MySQL. Si la base de datos externa ya utiliza GTID, habilitar la replicación basada en GTID para el clúster de Aurora simplifica el proceso de replicación.

Configure la replicación basada en GTID para un clúster de Aurora MySQL configurando primero los parámetros de configuración relevantes en un grupo de parámetros de clúster de base de datos. A continuación, asocie ese grupo de parámetros al clúster.

Parámetros de replicación basada en GTID

Use los parámetros siguientes para configurar replicación basada en GTID.

Parámetro Valores válidos Descripción

gtid_mode

OFF, OFF_PERMISSIVE, ON_PERMISSIVE, ON

OFF especifica que las nuevas transacciones son anónimas (es decir, no tienen GTID) y que una transacción debe ser anónima para replicarse.

OFF_PERMISSIVE especifica que las nuevas transacciones son anónimas, pero que todas las transacciones pueden replicarse.

ON_PERMISSIVE especifica que las nuevas transacciones son de GTID, pero que todas las transacciones pueden replicarse.

ON especifica que las nuevas transacciones son de GTID y que una transacción debe ser de GTID para poder replicarse.

enforce_gtid_consistency

OFF, ON, WARN

OFF permite que las transacciones infrinjan la uniformidad de GTID.

ON evita que las transacciones infrinjan la uniformidad de GTID.

WARN permite que las transacciones infrinjan la uniformidad de GTID, pero genera un aviso cuando se proudce una infracción.

nota

En la AWS Management Console, el parámetro gtid_mode aparece como gtid-mode.

Para la replicación basada en GTID, utilice esta configuración para el grupo de parámetros de clúster de base de datos para el clúster de base de datos de Aurora MySQL:

  • ON y ON_PERMISSIVE se aplican solo a la replicación saliente de una instancia de base de datos de RDS o un clúster de Aurora MySQL. Estos valores provocan que su clúster de base de datos de Aurora utilice GTID para transacciones que se replican en una base de datos externa. ON requiere que la base de datos externa también utilice la replicación basada en GTID. ON_PERMISSIVE hace que la replicación basada en GTID sea opcional en la base de datos externa.

  • Si se establece OFF_PERMISSIVE, significa que su instancia de base de datos de Aurora puede aceptar la replicación entrante de una base de datos externa. Se puede aplicar este procedimiento si la base de datos tanto si la base de datos utiliza la replicación basada en GTID como si no.

  • Si se establece OFF, significa que su clúster de base de datos de Aurora solo acepta la replicación entrante desde bases de datos externas que no utilizan la replicación basada en GTID.

sugerencia

La replicación entrante es el escenario de replicación del binlog más frecuente para los clústeres de Aurora MySQL. Para la replicación entrante, recomendamos que establezca el modo de GTID en OFF_PERMISSIVE. Esta configuración permite la replicación entrante desde bases de datos externas independientemente de la configuración de GTID en el origen de replicación.

Para obtener más información acerca de los grupos de parámetros, consulte Grupos de parámetros para Amazon Aurora.