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

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

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


Справочные материалы

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

Включение хранения двоичного лога

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

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

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

Включение автоматического резервного копирования в RDS

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

2. Срок хранения binlog (в часах)

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

Чтобы указать количество часов хранения двоичных логов на экземпляре БД, используйте функцию mysql.rds_set_configuration с периодом хранения binlog, достаточно длинным для выполнения репликации. Рекомендуемый минимум — 24 часа.

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

Настройка параметров binlog в группе параметров

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

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

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

Редактирование группы параметров

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

  1. Установите значение binlog_format в ROW.
Формат binlog — значение ROW
  1. Установите значение binlog_row_metadata в FULL.
Метаданные строк binlog — значение FULL
  1. Установите значение binlog_row_image в FULL.
Снимок строк binlog — значение FULL

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


Совет

Если у вас кластер MariaDB, указанные выше параметры будут находиться в группе параметров DB Cluster, а не в группе параметров экземпляра БД.

Включение режима GTID

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

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

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

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

    CREATE USER 'clickpipes_user'@'host' IDENTIFIED BY 'some-password';
    
  2. Выдайте права на схему. В следующем примере показаны права для базы данных mysql. Повторите эти команды для каждой базы данных и хоста, которые вы хотите реплицировать:

    GRANT SELECT ON `mysql`.* TO 'clickpipes_user'@'host';
    
  3. Предоставьте пользователю права на репликацию:

    GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%';
    GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
    
    
    

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

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

Если вы хотите ограничить трафик к своему экземпляру RDS, добавьте указанные в документации статические NAT IP-адреса в раздел Inbound rules группы безопасности вашего RDS.

Где найти группу безопасности в RDS?
Редактирование правил `Inbound rules` для указанной выше группы безопасности

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