Это пошаговое руководство показывает, как настроить Amazon Aurora MySQL для репликации данных в ClickHouse Cloud с помощью MySQL ClickPipe. Ответы на часто задаваемые вопросы о CDC в MySQL см. на странице с часто задаваемыми вопросами по MySQL.
Включение хранения бинарных логов
Бинарный лог — это набор файлов журналов, содержащих информацию об изменениях данных, внесённых в экземпляр сервера MySQL, а файлы бинарного лога необходимы для репликации. Чтобы настроить хранение бинарных логов в Aurora MySQL, необходимо включить бинарное логирование и увеличить интервал хранения binlog.
1. Включите бинарное логирование через автоматические резервные копии
Функция автоматического резервного копирования определяет, включено ли бинарное логирование в MySQL. Автоматическое резервное копирование можно настроить для вашего экземпляра в RDS Console: перейдите в Modify > Additional configuration > Backup и установите флажок Enable automated backups (если он ещё не установлен).
Мы рекомендуем установить для Backup retention period достаточно длительный срок в зависимости от сценария репликации.
2. Увеличьте интервал хранения binlog
Если ClickPipes попытается возобновить репликацию, а нужные файлы binlog уже будут удалены из-за настроенного периода хранения binlog, ClickPipe перейдет в состояние ошибки, и потребуется повторная синхронизация.
По умолчанию Aurora MySQL удаляет бинарный лог при первой возможности (то есть использует lazy purging). Мы рекомендуем увеличить интервал хранения binlog как минимум до 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 экземпляра Aurora.
Включите режим GTID (рекомендуется)
MySQL ClickPipe также поддерживает репликацию без режима GTID. Однако для более высокой производительности и упрощения диагностики рекомендуется включить режим GTID.
Глобальные идентификаторы транзакций (GTID) — это уникальные идентификаторы, назначаемые каждой зафиксированной транзакции в MySQL. Они упрощают репликацию binlog и облегчают диагностику проблем. Мы рекомендуем включить режим GTID, чтобы MySQL ClickPipe мог использовать репликацию на основе GTID.
Репликация на основе GTID поддерживается для Amazon Aurora MySQL v2 (MySQL 5.7) и v3 (MySQL 8.0), а также Aurora Serverless v2. Чтобы включить режим GTID для экземпляра Aurora MySQL, выполните следующие шаги:
- В RDS Console выберите свой экземпляр MySQL.
- Перейдите на вкладку Configuration.
- Нажмите ссылку группы параметров.
- Нажмите кнопку Edit в правом верхнем углу.
- Установите
enforce_gtid_consistency в значение ON.
- Установите
gtid-mode в значение ON.
- Нажмите Save Changes в правом верхнем углу.
- Перезагрузите экземпляр, чтобы изменения вступили в силу.
Подключитесь к своему экземпляру Aurora MySQL с правами администратора и выполните следующие команды:
-
Создайте отдельного пользователя для ClickPipes:
CREATE USER 'clickpipes_user'@'%' 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 вашей группы безопасности Aurora.
Доступ через AWS PrivateLink по закрытой сети
Чтобы подключиться к вашему экземпляру Aurora MySQL по закрытой сети, можно использовать AWS PrivateLink. Для настройки подключения следуйте руководству по настройке AWS PrivateLink для ClickPipes.
Теперь, когда ваш экземпляр Amazon Aurora MySQL настроен для репликации binlog и безопасно подключён к ClickHouse Cloud, вы можете создать свой первый MySQL ClickPipe. Ответы на распространённые вопросы о CDC в MySQL см. на странице с часто задаваемыми вопросами по MySQL. Последнее изменение 10 июня 2026 г.