> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Guía paso a paso para configurar Amazon RDS MySQL como fuente para ClickPipes

# Guía de configuración de la fuente de RDS MySQL

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

Esta guía paso a paso le muestra cómo configurar Amazon RDS MySQL para replicar datos en ClickHouse Cloud mediante [ClickPipe para MySQL](/docs/es/integrations/clickpipes/mysql/index). Para consultas frecuentes sobre MySQL CDC, consulte la [página de preguntas frecuentes de MySQL](/docs/es/integrations/clickpipes/mysql/faq).

<div id="enable-binlog-retention-rds">
  ## Habilitar la retención del binlog
</div>

El binlog es un conjunto de archivos de log que contienen información sobre las modificaciones de datos realizadas en una instancia de servidor MySQL, y los archivos de binlog son necesarios para la replicación. Para configurar la retención del binlog en RDS MySQL, debe [habilitar el logging binario](#enable-binlog-logging) y [aumentar el intervalo de retención del binlog](#binlog-retention-interval).

<Steps>
  <Step title="Habilitar el logging binario mediante copias de seguridad automatizadas" id="enable-binlog-logging">
    La función de copias de seguridad automatizadas determina si el logging binario está activado o desactivado para MySQL. Las copias de seguridad automatizadas pueden configurarse para su instancia en la RDS Console yendo a **Modify** > **Additional configuration** > **Backup** y seleccionando la casilla **Enable automated backups** (si aún no está seleccionada).

    <Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/source/rds/rds-backups.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=21ca5d0f6d6dfda1a398b336782fb229" alt="Habilitación de copias de seguridad automatizadas en RDS" size="lg" border width="3230" height="530" data-path="images/integrations/data-ingestion/clickpipes/mysql/source/rds/rds-backups.webp" />

    Recomendamos establecer el **Backup retention period** en un valor razonablemente alto, según el caso de uso de la replicación.
  </Step>

  <Step title="Aumentar el intervalo de retención del binlog" id="binlog-retention-interval">
    <Warning>
      Si ClickPipes intenta reanudar la replicación y los archivos de binlog necesarios se han eliminado debido al valor de retención del binlog configurado, el ClickPipe entrará en un estado de error y será necesaria una resincronización.
    </Warning>

    De forma predeterminada, Amazon RDS purga el binlog lo antes posible (es decir, *purgado diferido*). Recomendamos aumentar el intervalo de retención del binlog a al menos **72 horas** para garantizar la disponibilidad de los archivos de binlog para la replicación en escenarios de fallo. Para establecer un intervalo de retención del binlog ([`binlog retention hours`](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql-stored-proc-configuring.html#mysql_rds_set_configuration-usage-notes.binlog-retention-hours)), use el procedimiento [`mysql.rds_set_configuration`](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql-stored-proc-configuring.html#mysql_rds_set_configuration):

    [//]: # "NOTA La mayoría de los proveedores de CDC recomiendan el período máximo de retención para RDS (7 días/168 horas). Dado que esto afecta al uso de disco, recomendamos de forma conservadora un mínimo de 3 días/72 horas."

    ```text theme={null}
    mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);
    ```

    Si esta configuración no está definida o se establece con un intervalo demasiado bajo, puede provocar huecos en los logs binarios y comprometer la capacidad de ClickPipes para reanudar la replicación.
  </Step>
</Steps>

<div id="binlog-settings">
  ## Configurar los ajustes de binlog
</div>

Puedes encontrar el grupo de parámetros haciendo clic en tu instancia de MySQL en la RDS Console y, a continuación, navegando a la pestaña **Configuration**.

<Tip>
  Si tienes un cluster de MySQL, los parámetros indicados a continuación pueden encontrarse en el grupo de parámetros del [DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.CreatingCluster.html) en lugar del grupo de la DB instance.
</Tip>

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/rds_config.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=ee075e27abc1cdb0dca1962d200384a3" alt="Dónde encontrar el grupo de parámetros en RDS" size="lg" border width="708" height="853" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/rds_config.webp" />

<br />

Haz clic en el enlace del grupo de parámetros, que te llevará a su página específica. Deberías ver un botón **Edit** en la esquina superior derecha.

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/edit_button.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=3b73e47820d72b09c2238a8fce0df716" alt="Botón Edit del grupo de parámetros" size="lg" border width="1662" height="292" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/edit_button.webp" />

Los siguientes parámetros deben configurarse de la siguiente manera:

1. `binlog_format` en `ROW`.

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_format.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=98ccb656415f8e43ebfe03c26f4bf908" alt="Binlog format en ROW" size="lg" border width="960" height="232" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_format.webp" />

2. `binlog_row_metadata` en `FULL`

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_metadata.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=75008a3321f0b26b2111d8f14d80e3fe" alt="Metadatos de fila del binlog en FULL" size="lg" border width="934" height="234" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_metadata.webp" />

3. `binlog_row_image` en `FULL`

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_image.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=a5660a6f88829e05eefca1eb7dcea83a" alt="Imagen de fila del binlog en FULL" size="lg" border width="934" height="234" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_image.webp" />

<br />

Luego, haz clic en **Save Changes** en la esquina superior derecha. Puede que necesites reiniciar la instancia para que los cambios surtan efecto; una forma de comprobarlo es si ves `Pending reboot` junto al enlace del grupo de parámetros en la pestaña **Configuration** de la instancia de RDS.

<div id="gtid-mode">
  ## Habilitar el modo GTID
</div>

<Tip>
  El ClickPipe para MySQL también admite la replicación sin el modo GTID. Sin embargo, se recomienda habilitar el modo GTID para obtener un mejor rendimiento y facilitar la resolución de problemas.
</Tip>

Los [Global Transaction Identifiers (GTIDs)](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids.html) son identificadores únicos asignados a cada transacción confirmada en MySQL. Simplifican la replicación del binlog y facilitan la resolución de problemas. **Recomendamos** habilitar el modo GTID para que el ClickPipe para MySQL pueda usar replicación basada en GTID.

La replicación basada en GTID es compatible con Amazon RDS para MySQL versiones 5.7, 8.0 y 8.4. Para habilitar el modo GTID en tu instancia de Aurora MySQL, sigue estos pasos:

1. En la RDS Console, haz clic en tu instancia de MySQL.
2. Haz clic en la pestaña **Configuration**.
3. Haz clic en el enlace del grupo de parámetros.
4. Haz clic en el botón **Edit** en la esquina superior derecha.
5. Establece `enforce_gtid_consistency` en `ON`.
6. Establece `gtid-mode` en `ON`.
7. Haz clic en **Save Changes** en la esquina superior derecha.
8. Reinicia tu instancia para que los cambios surtan efecto.

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/enable_gtid.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=e27af3084b41fb2f1c326542f14c01d1" alt="GTID habilitado" size="lg" border width="1650" height="469" data-path="images/integrations/data-ingestion/clickpipes/mysql/enable_gtid.webp" />

<br />

<Tip>
  El ClickPipe para MySQL también admite la replicación sin el modo GTID. Sin embargo, se recomienda habilitar el modo GTID para obtener un mejor rendimiento y facilitar la resolución de problemas.
</Tip>

<div id="configure-database-user">
  ## Configurar un usuario de base de datos
</div>

Conéctese a su instancia de MySQL de RDS como usuario administrador y ejecute los siguientes comandos:

1. Cree un usuario específico para ClickPipes:

   ```sql theme={null}
   CREATE USER 'clickpipes_user'@'host' IDENTIFIED BY 'some-password';
   ```

2. Otorgue permisos sobre el esquema. El siguiente ejemplo muestra los permisos para la base de datos `mysql`. Repita estos comandos para cada base de datos y host que desee replicar:

   ```sql theme={null}
   GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host';
   ```

3. Otorgue permisos de replicación al usuario:

   ```sql theme={null}
   GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%';
   GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
   ```

<div id="iam-authentication">
  ### Uso de la autenticación con IAM (opcional)
</div>

En lugar de una contraseña, puede autenticar al usuario de ClickPipes mediante el control de acceso basado en roles de AWS IAM. Cree el usuario de la siguiente manera y, a continuación, concédale los mismos privilegios de esquema y replicación que se muestran arriba:

```sql theme={null}
CREATE USER 'clickpipes_iam_user' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
```

Consulta [autenticación de base de datos con AWS IAM (RDS/Aurora)](/docs/es/integrations/clickpipes/postgres/auth) para ver todos los pasos necesarios para configurar el rol de IAM y la política que ClickPipes necesita para autenticarse de esta manera.

<div id="configure-network-access">
  ## Configurar el acceso a la red
</div>

<div id="ip-based-access-control">
  ### Control de acceso basado en IP
</div>

Para restringir el tráfico hacia su instancia de Aurora MySQL, agregue las [IP NAT estáticas documentadas](/docs/es/integrations/clickpipes/home#list-of-static-ips) a las **reglas de entrada** del grupo de seguridad de RDS.

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mysql/source/rds/security-group-in-rds-mysql.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=af38397cd478a3e845217f3cc0165a7f" alt="¿Dónde encontrar el grupo de seguridad en RDS MySQL?" size="lg" border width="2850" height="994" data-path="images/integrations/data-ingestion/clickpipes/mysql/source/rds/security-group-in-rds-mysql.webp" />

<Image img="https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/source/rds/edit_inbound_rules.webp?fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=1176aa14815b965b841d70d28b5f0d7c" alt="Editar las reglas de entrada del grupo de seguridad anterior" size="lg" border width="1800" height="935" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/rds/edit_inbound_rules.webp" />

<div id="private-access-via-aws-privatelink">
  ### Acceso privado a través de AWS PrivateLink
</div>

Para conectarse a su instancia de RDS a través de una red privada, puede usar AWS PrivateLink. Siga la [guía de configuración de AWS PrivateLink para ClickPipes](/docs/es/resources/support-center/knowledge-base/cloud-services/aws-privatelink-setup-for-clickpipes) para establecer la conexión.

<div id="next-steps">
  ## Próximos pasos
</div>

Ahora que su instancia de Amazon RDS MySQL está configurada para la replicación mediante binlog y se conecta de forma segura a ClickHouse Cloud, puede [crear su primer ClickPipe para MySQL](/docs/es/integrations/clickpipes/mysql/index#create-your-clickpipe). Para preguntas frecuentes sobre MySQL CDC, consulte la [página de preguntas frecuentes de MySQL](/docs/es/integrations/clickpipes/mysql/faq).
