Руководство по настройке источника RDS MySQL
В этом пошаговом руководстве показано, как настроить Amazon RDS MySQL для репликации данных в ClickHouse Cloud с помощью MySQL ClickPipe. Для общих вопросов по MySQL CDC смотрите страницу часто задаваемых вопросов по MySQL.
Включение хранения бинарных логов
Бинарный лог — это набор лог-файлов, содержащих информацию о модификациях данных, сделанных на экземпляре MySQL сервера, и бинарные лог-файлы необходимы для репликации. Чтобы настроить хранение бинарного лога в RDS MySQL, необходимо включить бинарное логирование и увеличить интервал хранения бинарного лога.
1. Включите бинарное логирование через автоматическое резервное копирование
Функция автоматических резервных копий определяет, включено ли бинарное логирование для MySQL. Автоматические резервные копии можно настроить для вашего экземпляра в консоли RDS, перейдя в Изменить > Дополнительная конфигурация > Резервное копирование и выбрав флажок Включить автоматические резервные копии (если он еще не выбран).

Рекомендуем установить Период хранения резервных копий на разумно длительное значение, в зависимости от сценария использования репликации.
2. Увеличьте интервал хранения бинарного лога
Если ClickPipes пытается возобновить репликацию, и необходимые бинарные лог-файлы были очищены из-за установленного значения хранения бинарного лога, ClickPipe перейдет в состояние ошибки, и потребуется повторная синхронизация.
По умолчанию Amazon RDS очищает бинарный лог как можно быстрее (т.е. ленивое очищение). Рекомендуем увеличить интервал хранения бинарного лога как минимум до 72 часов, чтобы обеспечить доступность бинарных лог-файлов для репликации в сценариях сбоев. Чтобы установить интервал хранения бинарного лога (binlog retention hours
), используйте процедуру mysql.rds_set_configuration
:
Если эта конфигурация не установлена или установлена на низкий интервал, это может привести к пробелам в бинарных логах, что подорвет способность ClickPipes возобновить репликацию.
Настройка параметров бинарного лога
Группа параметров может быть найдена, когда вы нажимаете на ваш экземпляр MySQL в консоли RDS, а затем переходите на вкладку Конфигурация.
Если у вас есть кластер MySQL, параметры ниже могут быть найдены в группе параметров DB кластера, а не в группе экземпляров БД.

Нажмите на ссылку группы параметров, которая переведет вас на ее страницу. Вы должны увидеть кнопку Изменить в верхнем правом углу.

Следующие параметры необходимо установить следующим образом:
binlog_format
наROW
.

binlog_row_metadata
наFULL

binlog_row_image
наFULL

Затем нажмите на Сохранить изменения в верхнем правом углу. Возможно, вам потребуется перезагрузить ваш экземпляр, чтобы изменения вступили в силу — признаком этого является наличие Ожидает перезагрузку
рядом со ссылкой группы параметров на вкладке Конфигурация экземпляра RDS.
Включите режим GTID
MySQL ClickPipe также поддерживает репликацию без режима GTID. Однако рекомендуется включить режим GTID для повышения производительности и упрощения устранения неполадок.
Глобальные идентификаторы транзакций (GTID) — это уникальные идентификаторы, присваиваемые каждой завершенной транзакции в MySQL. Они упрощают репликацию бинарного лога и делают устранение неполадок более простым. Мы рекомендуем включить режим GTID, чтобы MySQL ClickPipe мог использовать репликацию на основе GTID.
Репликация на основе GTID поддерживается для Amazon RDS для MySQL версий 5.7, 8.0 и 8.4. Чтобы включить режим GTID для вашего экземпляра Aurora MySQL, выполните следующие шаги:
- В консоли RDS нажмите на ваш экземпляр MySQL.
- Перейдите на вкладку Конфигурация.
- Нажмите на ссылку группы параметров.
- Нажмите на кнопку Изменить в верхнем правом углу.
- Установите
enforce_gtid_consistency
вON
. - Установите
gtid-mode
вON
. - Нажмите на Сохранить изменения в верхнем правом углу.
- Перезагрузите ваш экземпляр, чтобы изменения вступили в силу.

MySQL ClickPipe также поддерживает репликацию без режима GTID. Однако рекомендуется включить режим GTID для повышения производительности и упрощения устранения неполадок.
Настройка пользователя базы данных
Подключитесь к вашему экземпляру RDS MySQL как администратор и выполните следующие команды:
- Создайте отдельного пользователя для ClickPipes:
- Предоставьте права на схему. Пример ниже показывает права для базы данных
mysql
. Повторите эти команды для каждой базы данных и хоста, которые вы хотите реплицировать:
- Предоставьте пользователю права на репликацию:
Настройка сетевого доступа
Контроль доступа на основе IP адресов
Чтобы ограничить трафик к вашему экземпляру Aurora MySQL, добавьте записанные статические NAT IP адреса в Правила входящего трафика вашей группы безопасности RDS.


Частный доступ через AWS PrivateLink
Чтобы подключиться к вашему экземпляру RDS через частную сеть, вы можете использовать AWS PrivateLink. Следуйте руководству по настройке AWS PrivateLink для ClickPipes, чтобы настроить соединение.
Следующие шаги
Теперь, когда ваш экземпляр Amazon RDS MySQL настроен для репликации бинарного лога и безопасного подключения к ClickHouse Cloud, вы можете создать ваш первый MySQL ClickPipe. Для общих вопросов по MySQL CDC смотрите страницу часто задаваемых вопросов по MySQL.