Включите хранение бинарного лога
Бинарные логи содержат информацию об изменениях данных на сервере MySQL и необходимы для репликации.
MySQL 8.x и новее
Чтобы включить бинарное логирование на вашем экземпляре MySQL, убедитесь, что заданы следующие параметры:
log_bin = ON -- значение по умолчанию
binlog_format = ROW -- значение по умолчанию
binlog_row_image = FULL -- значение по умолчанию
binlog_row_metadata = FULL
binlog_expire_logs_seconds = 86400 -- 1 день или больше; по умолчанию 30 днейЧтобы проверить эти параметры, выполните следующие SQL-команды:
SHOW VARIABLES LIKE 'log_bin';
SHOW VARIABLES LIKE 'binlog_format';
SHOW VARIABLES LIKE 'binlog_row_image';
SHOW VARIABLES LIKE 'binlog_row_metadata';
SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';Если значения не совпадают, вы можете выполнить следующие SQL-команды, чтобы задать их:
SET PERSIST log_bin = ON;
SET PERSIST binlog_format = ROW;
SET PERSIST binlog_row_image = FULL;
SET PERSIST binlog_row_metadata = FULL;
SET PERSIST binlog_expire_logs_seconds = 86400;Если вы изменили настройку log_bin, вам НЕОБХОДИМО ПЕРЕЗАПУСТИТЬ экземпляр MySQL, чтобы изменения вступили в силу.
После изменения настроек перейдите к настройке пользователя базы данных.
MySQL 5.7
Чтобы включить бинарное логирование на экземпляре MySQL 5.7, убедитесь, что заданы следующие параметры:
server_id = 1 -- или больше; любое значение, кроме 0
log_bin = ON
binlog_format = ROW -- значение по умолчанию
binlog_row_image = FULL -- значение по умолчанию
expire_logs_days = 1 -- или больше; 0 означает, что журналы хранятся бессрочноЧтобы проверить эти настройки, выполните следующие SQL-команды:
SHOW VARIABLES LIKE 'server_id';
SHOW VARIABLES LIKE 'log_bin';
SHOW VARIABLES LIKE 'binlog_format';
SHOW VARIABLES LIKE 'binlog_row_image';
SHOW VARIABLES LIKE 'expire_logs_days';Если значения не совпадают, их можно указать в файле конфигурации (обычно /etc/my.cnf или /etc/mysql/my.cnf):
[mysqld]
server_id = 1
log_bin = ON
binlog_format = ROW
binlog_row_image = FULL
expire_logs_days = 1Чтобы изменения вступили в силу, НЕОБХОДИМО ПЕРЕЗАПУСТИТЬ экземпляр MySQL.
Настройка пользователя базы данных
Подключитесь к своему экземпляру MySQL от имени пользователя root и выполните следующие команды:
-
Создайте отдельного пользователя для ClickPipes:
CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some_secure_password'; -
Выдайте разрешения на схему. В примере ниже показаны разрешения для базы данных
clickpipes. Повторите эти команды для каждой базы данных и каждого хоста, которые вы хотите реплицировать:GRANT SELECT ON `clickpipes`.* TO 'clickpipes_user'@'%'; -
Выдайте пользователю разрешения на репликацию:
GRANT REPLICATION CLIENT ON *.* TO 'clickpipes_user'@'%'; GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
Настройка SSL/TLS (рекомендуется)
SSL‑сертификаты обеспечивают защищённое подключение к вашей базе данных MySQL. Настройка зависит от типа сертификата:
Доверенный центр сертификации (DigiCert, Let's Encrypt и т. д.) - дополнительная настройка не требуется.
Внутренний центр сертификации - Получите файл корневого CA‑сертификата у вашей ИТ-команды. В интерфейсе ClickPipes загрузите его при создании нового MySQL ClickPipe.
Самоуправляемый MySQL - Скопируйте CA‑сертификат с вашего сервера MySQL (обычно он находится по пути /var/lib/mysql/ca.pem) и загрузите его в интерфейсе при создании нового MySQL ClickPipe. В качестве хоста укажите IP‑адрес сервера.
Самоуправляемый MySQL без доступа к серверу - Обратитесь к вашей ИТ-команде, чтобы получить сертификат. В крайнем случае используйте переключатель "Пропустить проверку сертификата" в интерфейсе ClickPipes (не рекомендуется из соображений безопасности).
Дополнительные сведения о вариантах SSL/TLS см. в разделе FAQ.
Что дальше?
Теперь вы можете создать свой ClickPipe и начать приём данных из вашего экземпляра MySQL в ClickHouse Cloud. Обязательно сохраните сведения о подключении, которые вы использовали при настройке экземпляра MySQL: они понадобятся вам при создании ClickPipe.