Перейти к основному содержимому
Перейти к основному содержимому

Руководство по настройке источника Aurora MySQL

Это пошаговое руководство показывает, как настроить Amazon Aurora MySQL для репликации данных в ClickHouse Cloud с использованием MySQL ClickPipe. Для общих вопросов по MySQL CDC смотрите страницу часто задаваемых вопросов MySQL.

Включите удержание двоичного журнала

Двоичный журнал - это набор файлов журналов, которые содержат информацию об изменениях данных, внесенных в экземпляр MySQL сервера, и файлы двоичного журнала необходимы для репликации. Чтобы настроить удержание двоичного журнала в Aurora MySQL, необходимо включить двоичное логирование и увеличить интервал удержания binlog.

1. Включите двоичное логирование через автоматическое резервное копирование

Функция автоматического резервного копирования определяет, включено ли двоичное логирование для MySQL. Автоматические резервные копирования могут быть настроены для вашего экземпляра в консоли RDS, перейдя в Изменить > Дополнительная конфигурация > Резервное копирование и выбрав флажок Включить автоматическое резервное копирование (если он еще не выбран).

Включение автоматических резервных копий в Aurora

Мы рекомендуем установить Срок хранения резервных копий на разумно длительное значение, в зависимости от сценария использования репликации.

2. Увеличьте интервал удержания binlog

предупреждение

Если ClickPipes попытается возобновить репликацию, а необходимые файлы binlog были удалены из-за установленного значения удержания binlog, ClickPipe перейдет в состояние ошибки, и потребуется повторная синхронизация.

По умолчанию Aurora MySQL очищает двоичный журнал как можно быстрее (т.е. ленивая очистка). Мы рекомендуем увеличить интервал удержания binlog до как минимум 72 часов, чтобы обеспечить наличие файлов двоичного журнала для репликации в ситуациях отказа. Чтобы установить интервал удержания двоичного журнала (binlog retention hours), используйте процедуру mysql.rds_set_configuration:

mysql=> call mysql.rds_set_configuration('binlog retention hours', 72);

Если эта конфигурация не задана или установлена на низкий интервал, это может привести к пробелам в двоичных журналах, что существенно уменьшит возможность ClickPipes возобновить репликацию.

Настройте параметры binlog

Группу параметров можно найти, когда вы щелкните на вашем экземпляре MySQL в консоли RDS, а затем перейдете на вкладку Конфигурация.

подсказка

Если у вас есть кластер MySQL, параметры ниже можно найти в группе параметров DB cluster, а не в группе параметров DB instance.

Где найти группу параметров в Aurora

Щелкните по ссылке группы параметров, чтобы перейти на ее отдельную страницу. В правом верхнем углу вы должны увидеть кнопку Изменить.

Изменить группу параметров

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

  1. binlog_format на ROW.
Формат binlog на ROW
  1. binlog_row_metadata на FULL.
Метаданные строки binlog
  1. binlog_row_image на FULL.
Изображение строки binlog

Затем нажмите Сохранить изменения в правом верхнем углу. Вам может понадобиться перезагрузить экземпляр, чтобы изменения вступили в силу — один из способов узнать это, если вы видите Pending reboot рядом со ссылкой на группу параметров на вкладке Конфигурация экземпляра 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, выполните следующие шаги:

  1. В консоли RDS нажмите на ваш экземпляр MySQL.
  2. Нажмите на вкладку Конфигурация.
  3. Щелкните по ссылке группы параметров.
  4. Нажмите на кнопку Изменить в правом верхнем углу.
  5. Установите enforce_gtid_consistency на ON.
  6. Установите gtid-mode на ON.
  7. Нажмите на Сохранить изменения в правом верхнем углу.
  8. Перезагрузите ваш экземпляр, чтобы изменения вступили в силу.
GTID включён

Настройте пользователя базы данных

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

  1. Создайте выделенного пользователя для ClickPipes:
CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some-password';
  1. Предоставьте права на схему. Следующий пример показывает права для базы данных mysql. Повторите эти команды для каждой базы данных и хоста, которые вы хотите реплицировать:
GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host';
  1. Предоставьте права на репликацию пользователю:
GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%';
GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';

Настройте сетевой доступ

Контроль доступа на основе IP

Чтобы ограничить трафик к вашему экземпляру Aurora MySQL, добавьте документированные статические NAT IP-адреса в Входящие правила вашей группы безопасности Aurora.

Где найти группу безопасности в Aurora MySQL?
Редактировать входящи�е правила для вышеуказанной группы безопасности

Чтобы подключиться к вашему экземпляру Aurora MySQL через частную сеть, вы можете использовать AWS PrivateLink. Следуйте руководству по настройке AWS PrivateLink для ClickPipes, чтобы установить соединение.

Что дальше?

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