> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.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}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

Это пошаговое руководство показывает, как настроить 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-mintlify-fbfa8bee/2Zeerd64Tl5ZAQUa/images/integrations/data-ingestion/clickpipes/mysql/source/rds/rds-backups.png?fit=max&auto=format&n=2Zeerd64Tl5ZAQUa&q=85&s=44d50884f8b3249b79019ebd1447aba1" alt="Включение автоматического резервного копирования в Aurora" size="lg" border width="3230" height="530" data-path="images/integrations/data-ingestion/clickpipes/mysql/source/rds/rds-backups.png" />

Мы рекомендуем установить для **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-mintlify-fbfa8bee/2Zeerd64Tl5ZAQUa/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/aurora_config.png?fit=max&auto=format&n=2Zeerd64Tl5ZAQUa&q=85&s=26651bd4950b859114c0d000f29bbef6" alt="Где найти группу параметров в Aurora" size="lg" border width="1524" height="901" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/aurora_config.png" />

<br />

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

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/2Zeerd64Tl5ZAQUa/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/edit_button.png?fit=max&auto=format&n=2Zeerd64Tl5ZAQUa&q=85&s=db811f938ad7abca9ace78dc8ef0d93f" alt="Редактирование группы параметров" size="lg" border width="1662" height="292" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/edit_button.png" />

<br />

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

1. `binlog_format` — `ROW`.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/2Zeerd64Tl5ZAQUa/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_format.png?fit=max&auto=format&n=2Zeerd64Tl5ZAQUa&q=85&s=3ab86fae4861bc5fcf9128a81fd0f127" alt="Формат binlog: ROW" size="lg" border width="960" height="232" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_format.png" />

2. `binlog_row_metadata` — `FULL`.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/2Zeerd64Tl5ZAQUa/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_metadata.png?fit=max&auto=format&n=2Zeerd64Tl5ZAQUa&q=85&s=92f964698139fb7ab9714a3ee20f476b" alt="Метаданные строк binlog" size="lg" border width="934" height="234" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_metadata.png" />

3. `binlog_row_image` — `FULL`.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/2Zeerd64Tl5ZAQUa/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_image.png?fit=max&auto=format&n=2Zeerd64Tl5ZAQUa&q=85&s=5528c5fc8f50bdb26880979cc842116f" alt="Образ строки binlog" size="lg" border width="934" height="234" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_image.png" />

<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-mintlify-fbfa8bee/2Zeerd64Tl5ZAQUa/images/integrations/data-ingestion/clickpipes/mysql/enable_gtid.png?fit=max&auto=format&n=2Zeerd64Tl5ZAQUa&q=85&s=2c3b212f55083db752ea2fd501e9e9d6" alt="Режим GTID включен" size="lg" border width="1650" height="469" data-path="images/integrations/data-ingestion/clickpipes/mysql/enable_gtid.png" />

<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-mintlify-fbfa8bee/2Zeerd64Tl5ZAQUa/images/integrations/data-ingestion/clickpipes/mysql/source/rds/security-group-in-rds-mysql.png?fit=max&auto=format&n=2Zeerd64Tl5ZAQUa&q=85&s=6207ee2b4575226d22be83a3c7d21847" 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.png" />

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/rds/edit_inbound_rules.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=baa7c5ba8889b33e5222949fbd5bd469" alt="Изменение Inbound rules для указанной выше группы безопасности" size="lg" border width="1800" height="935" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/rds/edit_inbound_rules.png" />

<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).
