启用二进制日志保留功能
二进制日志记录了对 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 实例,更改才能生效。
配置数据库用户
以 root 用户身份连接到你的 MySQL 实例,并执行以下命令:
-
为 ClickPipes 创建一个专用用户:
CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some_secure_password'; -
授予 schema 权限。以下示例展示了
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 等) - 无需额外配置。
内部证书颁发机构 - 向你的 IT 团队获取根 CA 证书文件。在 ClickPipes UI 中创建新的 MySQL ClickPipe 时上传该文件。
自托管 MySQL - 从你的 MySQL 服务器复制 CA 证书 (通常位于 /var/lib/mysql/ca.pem) ,并在 UI 中创建新的 MySQL ClickPipe 时上传。主机请使用服务器的 IP 地址。
无法访问服务器的自托管 MySQL - 联系你的 IT 团队获取证书。作为最后手段,可在 ClickPipes UI 中启用“跳过证书验证”开关 (出于安全原因,不推荐) 。
如需了解有关 SSL/TLS 选项的更多信息,请参阅我们的 FAQ。
接下来做什么?
您现在可以创建您的 ClickPipe,并开始将 MySQL 实例中的数据摄取到 ClickHouse Cloud。 请务必记下设置 MySQL 实例时使用的连接信息,因为在创建 ClickPipe 的过程中会用到这些信息。