В этом пошаговом руководстве показано, как настроить Amazon RDS MySQL для репликации данных в ClickHouse Cloud с помощью MySQL ClickPipe. Ответы на распространённые вопросы о CDC MySQL см. на странице с часто задаваемыми вопросами по MySQL.
Включение хранения бинарных логов
Бинарный лог — это набор файлов журналов, содержащих сведения об изменениях данных на экземпляре сервера MySQL; файлы бинарного лога необходимы для репликации. Чтобы настроить хранение бинарных логов в RDS MySQL, необходимо включить бинарное логирование и увеличить интервал хранения binlog.
1. Включите бинарное логирование с помощью автоматического резервного копирования
В MySQL бинарное логирование включается или отключается в зависимости от того, включено ли автоматическое резервное копирование. Автоматическое резервное копирование можно настроить для вашего экземпляра в RDS Console, перейдя в Modify > Additional configuration > Backup и установив флажок Enable automated backups (если он ещё не установлен).
Рекомендуем установить для Backup retention period достаточно большое значение — в зависимости от сценария репликации.
2. Увеличьте интервал хранения бинарного лога
Если ClickPipes попытается возобновить репликацию, а необходимые файлы бинарного лога уже были удалены из-за настроенного срока хранения binlog, ClickPipe перейдёт в состояние с ошибкой, и потребуется повторная синхронизация.
По умолчанию Amazon RDS удаляет бинарный лог как можно быстрее (то есть использует отложенную очистку). Мы рекомендуем увеличить интервал хранения бинарного лога как минимум до 72 часов, чтобы файлы бинарного лога оставались доступными для репликации в случае сбоев. Чтобы задать интервал хранения бинарного лога (binlog retention hours), используйте процедуру mysql.rds_set_configuration:
mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);
Если этот параметр не задан или задан слишком маленький интервал, это может привести к пропускам в бинарных логах, из-за чего ClickPipes не сможет возобновить репликацию.
Настройка параметров binlog
Группу параметров можно найти, если выбрать свой экземпляр MySQL в RDS Console, а затем перейти на вкладку Configuration.
Если у вас кластер MySQL, указанные ниже параметры находятся в группе параметров DB cluster, а не в группе параметров экземпляра DB.
Нажмите ссылку группы параметров — откроется её отдельная страница. В правом верхнем углу вы увидите кнопку Edit.
Нужно задать следующие параметры:
binlog_format — ROW.
binlog_row_metadata — FULL
binlog_row_image — FULL
Затем нажмите Save Changes в правом верхнем углу. Чтобы изменения вступили в силу, может потребоваться перезагрузка экземпляра. Это можно понять по статусу Pending reboot рядом со ссылкой на группу параметров на вкладке Configuration экземпляра RDS.
MySQL ClickPipe также поддерживает репликацию без использования режима GTID. Однако для более высокой производительности и более простого устранения неполадок рекомендуется включить режим GTID.
Global Transaction Identifiers (GTIDs) — это уникальные идентификаторы, назначаемые каждой зафиксированной транзакции в MySQL. Они упрощают репликацию по binlog и делают устранение неполадок более простым. Мы рекомендуем включить режим GTID, чтобы MySQL ClickPipe мог использовать репликацию на основе GTID.
Репликация на основе GTID поддерживается в Amazon RDS for MySQL версий 5.7, 8.0 и 8.4. Чтобы включить режим GTID для вашего экземпляра Aurora MySQL, выполните следующие шаги:
- В RDS Console выберите свой экземпляр MySQL.
- Перейдите на вкладку Configuration.
- Нажмите ссылку группы параметров.
- Нажмите кнопку Edit в правом верхнем углу.
- Установите для
enforce_gtid_consistency значение ON.
- Установите для
gtid-mode значение ON.
- Нажмите Save Changes в правом верхнем углу.
- Перезагрузите экземпляр, чтобы изменения вступили в силу.
MySQL ClickPipe также поддерживает репликацию без использования режима GTID. Однако для более высокой производительности и более простого устранения неполадок рекомендуется включить режим GTID.
Подключитесь к своему экземпляру RDS MySQL под учетной записью администратора и выполните следующие команды:
-
Создайте отдельного пользователя для ClickPipes:
CREATE USER 'clickpipes_user'@'host' IDENTIFIED BY 'some-password';
-
Выдайте разрешения на схему. В следующем примере показаны разрешения для базы данных
mysql. Повторите эти команды для каждой базы данных и каждого хоста, которые нужно реплицировать:
GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host';
-
Выдайте пользователю разрешения на репликацию:
GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%';
GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
Управление доступом на основе IP
Чтобы ограничить сетевой доступ к вашему экземпляру Aurora MySQL, добавьте статические NAT IP-адреса, указанные в документации, в Inbound rules вашей группы безопасности RDS.
Доступ через AWS PrivateLink по частной сети
Чтобы подключиться к вашему экземпляру RDS по частной сети, можно использовать AWS PrivateLink. Следуйте руководству по настройке AWS PrivateLink для ClickPipes, чтобы настроить подключение.
Теперь, когда ваш экземпляр Amazon RDS MySQL настроен для репликации через binlog и безопасно подключён к ClickHouse Cloud, вы можете создать свой первый MySQL ClickPipe. Ответы на распространённые вопросы о MySQL CDC см. на странице с часто задаваемыми вопросами по MySQL. Последнее изменение 10 июня 2026 г.