如果您使用的是受支持的提供商之一 (见侧边栏) ,请参阅该提供商对应的专用指南。
二进制日志记录了对 MySQL 服务器实例中数据所做的修改,是进行复制所必需的。
要在 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 实例上启用二进制日志记录,请确保已配置以下设置:
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 5.7 及更早版本不支持列排除和 schema 变更。这些功能依赖于表元数据,而在 MySQL 8.0.1 之前的 binlog 中不包含这些元数据。
以 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'@'%';
请确保将 clickpipes_user 和 some_secure_password 替换为你所需的用户名和密码。
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 的过程中会用到这些信息。