> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-revert-104359-revert-104251-parquet-single.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Пошаговое руководство по настройке Amazon Aurora MySQL в качестве источника для ClickPipes

# Руководство по настройке источника Aurora 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>;
};

Это пошаговое руководство показывает, как настроить Amazon Aurora MySQL для репликации данных в ClickHouse Cloud с помощью [MySQL ClickPipe](/ru/integrations/clickpipes/mysql/index). Ответы на часто задаваемые вопросы о CDC в MySQL см. на [странице с часто задаваемыми вопросами по MySQL](/ru/integrations/clickpipes/mysql/faq).

<div id="enable-binlog-retention-aurora">
  ## Включение хранения бинарного лога
</div>

Бинарный лог — это набор файлов журналов, содержащих сведения об изменениях данных, внесенных в экземпляр сервера MySQL, и файлы бинарного лога необходимы для репликации. Чтобы настроить хранение бинарного лога в Aurora MySQL, необходимо [включить бинарное логирование](#enable-binlog-logging) и [увеличить интервал хранения binlog](#binlog-retention-interval).

<Steps>
  <Step title="Включение бинарного логирования через автоматическое резервное копирование" id="enable-binlog-logging">
    Функция автоматического резервного копирования определяет, включено ли бинарное логирование для MySQL. Автоматическое резервное копирование можно настроить для вашего экземпляра в RDS Console, перейдя в **Modify** > **Additional configuration** > **Backup** и установив флажок **Enable automated backups** (если он еще не установлен).

    <Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/4ZDv2f4M_2GbJ9Bg/images/integrations/data-ingestion/clickpipes/mysql/source/rds/rds-backups.webp?fit=max&auto=format&n=4ZDv2f4M_2GbJ9Bg&q=85&s=20b0b92648d5b02b969ed6dbc85b0e17" alt="Включение автоматического резервного копирования в Aurora" size="lg" border width="3230" height="530" data-path="images/integrations/data-ingestion/clickpipes/mysql/source/rds/rds-backups.webp" />

    Мы рекомендуем установить для **Backup retention period** достаточно большое значение в зависимости от сценария использования репликации.
  </Step>

  <Step title="Увеличьте интервал хранения binlog" id="binlog-retention-interval">
    <Warning>
      Если ClickPipes попытается возобновить репликацию, а нужные файлы binlog уже будут удалены из-за настроенного периода хранения binlog, ClickPipe перейдет в состояние ошибки, и потребуется повторная синхронизация.
    </Warning>

    По умолчанию Aurora MySQL удаляет бинарный лог при первой возможности (то есть использует *lazy purging*). Мы рекомендуем увеличить интервал хранения binlog как минимум до **72 часов**, чтобы файлы бинарного лога оставались доступными для репликации в случае сбоев. Чтобы задать интервал хранения бинарного лога ([`binlog retention hours`](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/mysql-stored-proc-configuring.html#mysql_rds_set_configuration-usage-notes.binlog-retention-hours)), используйте процедуру [`mysql.rds_set_configuration`](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/mysql-stored-proc-configuring.html#mysql_rds_set_configuration):

    [//]: # "ПРИМЕЧАНИЕ: Большинство провайдеров CDC рекомендуют максимальный период хранения для Aurora RDS (7 дней/168 часов). Поскольку это влияет на использование дискового пространства, мы рекомендуем минимальное значение 3 дня/72 часа."

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

    Если этот параметр не задан или для него установлен слишком малый интервал, это может привести к пропускам в бинарных логах и нарушить способность ClickPipes возобновлять репликацию.
  </Step>
</Steps>

<div id="binlog-settings">
  ## Настройка параметров binlog
</div>

Группу параметров можно найти, выбрав свой экземпляр MySQL в RDS Console, а затем открыв вкладку **Configuration**.

<Tip>
  Если у вас кластер MySQL, указанные ниже параметры находятся в группе параметров [DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithParamGroups.CreatingCluster.html), а не в группе параметров экземпляра DB.
</Tip>

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/4ZDv2f4M_2GbJ9Bg/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/aurora_config.webp?fit=max&auto=format&n=4ZDv2f4M_2GbJ9Bg&q=85&s=bf2f892ab56767433bf7c63fd87a31f8" alt="Где найти группу параметров в Aurora" size="lg" border width="1524" height="901" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/aurora_config.webp" />

<br />

Нажмите ссылку группы параметров — откроется её отдельная страница. В правом верхнем углу должна быть кнопка **Edit**.

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/4ZDv2f4M_2GbJ9Bg/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/edit_button.webp?fit=max&auto=format&n=4ZDv2f4M_2GbJ9Bg&q=85&s=56dd2c8547d89b8f8b484788dcc8afce" alt="Редактирование группы параметров" size="lg" border width="1662" height="292" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/edit_button.webp" />

<br />

Необходимо задать следующие значения параметров:

1. `binlog_format` — `ROW`.

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/4ZDv2f4M_2GbJ9Bg/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_format.webp?fit=max&auto=format&n=4ZDv2f4M_2GbJ9Bg&q=85&s=6e04eaf8367baea37adf3646eed9f2c0" alt="Формат binlog: 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` — `FULL`.

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/4ZDv2f4M_2GbJ9Bg/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_metadata.webp?fit=max&auto=format&n=4ZDv2f4M_2GbJ9Bg&q=85&s=d386fba4441470da3e99db913b7590f1" alt="Метаданные строк binlog" 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` — `FULL`.

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/4ZDv2f4M_2GbJ9Bg/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_image.webp?fit=max&auto=format&n=4ZDv2f4M_2GbJ9Bg&q=85&s=575ce2aa831b497570fa71031e739487" alt="Образ строки binlog" size="lg" border width="934" height="234" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_image.webp" />

<br />

Затем нажмите **Save Changes** в правом верхнем углу. Чтобы изменения вступили в силу, может потребоваться перезагрузить экземпляр. Понять, что это необходимо, можно по метке `Pending reboot` рядом со ссылкой на группу параметров на вкладке **Configuration** экземпляра Aurora.

<div id="gtid-mode">
  ## Включите режим GTID (рекомендуется)
</div>

<Tip>
  MySQL ClickPipe также поддерживает репликацию без режима GTID. Однако для более высокой производительности и упрощения диагностики рекомендуется включить режим GTID.
</Tip>

[Глобальные идентификаторы транзакций (GTID)](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids.html) — это уникальные идентификаторы, назначаемые каждой зафиксированной транзакции в MySQL. Они упрощают репликацию binlog и облегчают диагностику проблем. Мы **рекомендуем** включить режим GTID, чтобы MySQL ClickPipe мог использовать репликацию на основе GTID.

Репликация на основе GTID поддерживается для Amazon Aurora MySQL v2 (MySQL 5.7) и v3 (MySQL 8.0), а также Aurora Serverless v2. Чтобы включить режим GTID для экземпляра Aurora MySQL, выполните следующие шаги:

1. В RDS Console выберите свой экземпляр MySQL.
2. Перейдите на вкладку **Configuration**.
3. Нажмите ссылку группы параметров.
4. Нажмите кнопку **Edit** в правом верхнем углу.
5. Установите `enforce_gtid_consistency` в значение `ON`.
6. Установите `gtid-mode` в значение `ON`.
7. Нажмите **Save Changes** в правом верхнем углу.
8. Перезагрузите экземпляр, чтобы изменения вступили в силу.

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/4ZDv2f4M_2GbJ9Bg/images/integrations/data-ingestion/clickpipes/mysql/enable_gtid.webp?fit=max&auto=format&n=4ZDv2f4M_2GbJ9Bg&q=85&s=c5c0a8fbdf44ed38c08bbc6d40b3fef8" alt="Режим GTID включен" size="lg" border width="1650" height="469" data-path="images/integrations/data-ingestion/clickpipes/mysql/enable_gtid.webp" />

<div id="configure-database-user">
  ## Настройте пользователя базы данных
</div>

Подключитесь к своему экземпляру Aurora MySQL с правами администратора и выполните следующие команды:

1. Создайте отдельного пользователя для ClickPipes:

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

2. Выдайте права на схему. В следующем примере показаны права для базы данных `mysql`. Повторите эти команды для каждой базы данных и каждого хоста, для которых вы хотите настроить репликацию:

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

3. Выдайте пользователю права на репликацию:

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

<div id="iam-authentication">
  ### Использование аутентификации IAM (необязательно)
</div>

Вместо пароля можно аутентифицировать пользователя ClickPipes с помощью ролевого доступа AWS IAM. Создайте пользователя, как показано ниже, а затем выдайте ему то же право на схему и привилегии на репликацию, что и выше:

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

См. [AWS IAM DB authentication (RDS/Aurora)](/ru/integrations/clickpipes/postgres/auth), где приведены полные инструкции по настройке роли IAM и политики, необходимых для аутентификации ClickPipes таким способом.

<div id="configure-network-access">
  ## Настройте сетевой доступ
</div>

<div id="ip-based-access-control">
  ### Управление доступом по IP
</div>

Чтобы ограничить трафик к вашему экземпляру Aurora MySQL, добавьте [задокументированные статические NAT IP-адреса](/ru/integrations/clickpipes/home#list-of-static-ips) в **Inbound rules** вашей группы безопасности Aurora.

<Image img="https://mintcdn.com/private-7c7dfe99-revert-104359-revert-104251-parquet-single/4ZDv2f4M_2GbJ9Bg/images/integrations/data-ingestion/clickpipes/mysql/source/rds/security-group-in-rds-mysql.webp?fit=max&auto=format&n=4ZDv2f4M_2GbJ9Bg&q=85&s=0ee7eea2b487aec6a24ee9148e6985d6" alt="Где найти группу безопасности в Aurora 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-revert-104359-revert-104251-parquet-single/ICsmB-Qg9LaQwDEB/images/integrations/data-ingestion/clickpipes/postgres/source/rds/edit_inbound_rules.webp?fit=max&auto=format&n=ICsmB-Qg9LaQwDEB&q=85&s=4734c2f05d130a091c679bf50a0685b1" alt="Изменение Inbound rules для указанной выше группы безопасности" 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">
  ### Доступ через AWS PrivateLink по закрытой сети
</div>

Чтобы подключиться к вашему экземпляру Aurora MySQL по закрытой сети, можно использовать AWS PrivateLink. Для настройки подключения следуйте [руководству по настройке AWS PrivateLink для ClickPipes](/ru/resources/support-center/knowledge-base/cloud-services/aws-privatelink-setup-for-clickpipes).

<div id="whats-next">
  ## Что дальше?
</div>

Теперь, когда ваш экземпляр Amazon Aurora MySQL настроен для репликации через binlog и безопасно подключён к ClickHouse Cloud, вы можете [создать свой первый MySQL ClickPipe](/ru/integrations/clickpipes/mysql/index#create-your-clickpipe). Ответы на распространённые вопросы по MySQL CDC см. на [странице с часто задаваемыми вопросами по MySQL](/ru/integrations/clickpipes/mysql/faq).
