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

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

# Руководство по настройке источника RDS MariaDB

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

Это пошаговое руководство по настройке экземпляра RDS MariaDB для репликации данных через ClickPipe для MySQL.

<br />

<Info>
  Рекомендуем также ознакомиться с ответами на часто задаваемые вопросы по MySQL [здесь](/ru/integrations/clickpipes/mysql/faq). Страница FAQ активно обновляется.
</Info>

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

Бинарный лог — это набор файлов журнала, содержащих сведения об изменениях данных на экземпляре сервера MySQL. Файлы бинарного лога необходимы для репликации. Необходимо выполнить оба шага ниже:

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

Функция автоматического резервного копирования определяет, включено ли бинарное логирование в MySQL. Это можно настроить в консоли AWS:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-a804b3ad/KEcvg836gsAkDHwY/images/integrations/data-ingestion/clickpipes/mysql/source/rds/rds-backups.png?fit=max&auto=format&n=KEcvg836gsAkDHwY&q=85&s=f35b977cf0c9caaf944b12976559c5d3" alt="Включение автоматического резервного копирования в RDS" size="lg" border width="3230" height="530" data-path="images/integrations/data-ingestion/clickpipes/mysql/source/rds/rds-backups.png" />

Рекомендуется установить срок хранения резервных копий достаточно большим — в зависимости от сценария репликации.

<div id="binlog-retention-hours-rds">
  ### 2. Срок хранения binlog в часах
</div>

В Amazon RDS for MariaDB срок хранения binlog задаётся иначе: это время, в течение которого сохраняется файл binlog, содержащий изменения. Если какие-либо изменения не будут прочитаны до удаления файла binlog, репликация не сможет продолжиться. Значение по умолчанию для срока хранения binlog в часах — NULL, то есть бинарные логи не сохраняются.

Чтобы указать, сколько часов нужно хранить бинарные логи в экземпляре DB, используйте функцию mysql.rds\_set\_configuration, задав период хранения binlog, достаточный для выполнения репликации. `24 hours` — рекомендуемый минимум.

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

<div id="binlog-parameter-group-rds">
  ## Настройте параметры binlog в группе параметров
</div>

Группу параметров можно найти, если нажать на свой экземпляр MariaDB в RDS Console, а затем перейти на вкладку `Configurations`.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-a804b3ad/KEcvg836gsAkDHwY/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/rds_config.png?fit=max&auto=format&n=KEcvg836gsAkDHwY&q=85&s=603fa9d9359148673802216108f735cb" alt="Где найти группу параметров в RDS" size="lg" border width="708" height="853" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/rds_config.png" />

После нажатия на ссылку группы параметров вы перейдёте на страницу этой группы. В правом верхнем углу будет кнопка Edit:

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

Параметры `binlog_format`, `binlog_row_metadata` и `binlog_row_image` должны быть заданы следующим образом:

1. `binlog_format` — `ROW`.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-a804b3ad/KEcvg836gsAkDHwY/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_format.png?fit=max&auto=format&n=KEcvg836gsAkDHwY&q=85&s=bcc3339aaeb66f1c1ae27f9b6d94bf09" 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-a804b3ad/KEcvg836gsAkDHwY/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_metadata.png?fit=max&auto=format&n=KEcvg836gsAkDHwY&q=85&s=efc0e211245716d7d504609fd0bbdcb5" alt="Метаданные строк binlog: FULL" 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-a804b3ad/KEcvg836gsAkDHwY/images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_image.png?fit=max&auto=format&n=KEcvg836gsAkDHwY&q=85&s=ab141dd165749816ef02a7a5c6079ec9" alt="Образ строки binlog: FULL" size="lg" border width="934" height="234" data-path="images/integrations/data-ingestion/clickpipes/mysql/parameter_group/binlog_row_image.png" />

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

<br />

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

<div id="gtid-mode-rds">
  ## Включение режима GTID
</div>

Глобальные идентификаторы транзакций (GTID) — это уникальные идентификаторы, присваиваемые каждой зафиксированной транзакции в MySQL/MariaDB. Они упрощают репликацию binlog и облегчают устранение неполадок. В MariaDB режим GTID включен по умолчанию, поэтому никаких дополнительных действий со стороны пользователя не требуется.

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

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

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

   ```sql theme={null}
   CREATE USER 'clickpipes_user'@'host' 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>

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

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-a804b3ad/KEcvg836gsAkDHwY/images/integrations/data-ingestion/clickpipes/mysql/source/rds/security-group-in-rds-mysql.png?fit=max&auto=format&n=KEcvg836gsAkDHwY&q=85&s=b7d1f9290ff96cfafe8d770d7db86173" alt="Где найти группу безопасности в RDS?" 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-a804b3ad/7HM4q7DClKrFtm99/images/integrations/data-ingestion/clickpipes/postgres/source/rds/edit_inbound_rules.png?fit=max&auto=format&n=7HM4q7DClKrFtm99&q=85&s=068298f7f077438df6a75cce9061b880" 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>

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