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

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

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


Ссылки

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

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

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

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

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

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

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

2. Время хранения binlog

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

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

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_formatROW.
Формат binlog установлен в ROW
  1. binlog_row_metadataFULL
Метаданные строк binlog установлены в FULL
  1. binlog_row_imageFULL
Параметр binlog_row_image установлен в FULL

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


Совет

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

Включение режима 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, чтобы настроить подключение.