> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.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).

<div id="enable-binlog-logging">
  ### 1. Включите бинарное логирование через автоматические резервные копии
</div>

Функция автоматического резервного копирования определяет, включено ли бинарное логирование в MySQL. Автоматическое резервное копирование можно настроить для вашего экземпляра в RDS Console: перейдите в **Modify** > **Additional configuration** > **Backup** и установите флажок **Enable automated backups** (если он ещё не установлен).

<Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mysql/source/rds/rds-backups.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=738f6fefbaa63c4dfa3f2700be632553" 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** достаточно длительный срок в зависимости от сценария репликации.

<div id="binlog-retention-interval">
  ### 2. Увеличьте интервал хранения binlog
</div>

<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 возобновлять репликацию.

<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-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/aurora_config.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=b56ca2e94a92179f6bbe1bcca9511075" 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-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/edit_button.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=15192ff470f529e1d8929292b80d2d76" 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-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_format.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=538ac4d105d9090e01c8c0d820f93cde" 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-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_metadata.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=2a8bb8ec83b7dcb3700ae4109201bf24" 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-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_image.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=584f5f33af3a683339880f79aca732aa" 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-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mysql/enable_gtid.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=50cea1734e160de210b989215ce4328a" 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="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-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mysql/source/rds/security-group-in-rds-mysql.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=71300997912778c80deba5b411225fd6" 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-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/source/rds/edit_inbound_rules.webp?fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=fd70b9d17dea4a777163ef8237fd6e5f" 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). Ответы на распространённые вопросы о CDC в MySQL см. на [странице с часто задаваемыми вопросами по MySQL](/ru/integrations/clickpipes/mysql/faq).
