Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

通用 MariaDB 数据源设置指南

启用二进制日志保留

二进制日志包含对 MariaDB 服务器实例所做的数据修改信息,并且是复制所必需的。

要在您的 MariaDB 实例上启用二进制日志,请确保已配置以下设置:

server_id = 1               -- 或更大;不能为 0
log_bin = ON
binlog_format = ROW
binlog_row_image = FULL
binlog_row_metadata = FULL  -- 10.5.0 中引入
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 'binlog_row_metadata';
SHOW VARIABLES LIKE 'expire_logs_days';

如果这些值不一致,您可以在配置文件中进行设置 (通常位于 /etc/my.cnf/etc/my.cnf.d/mariadb-server.cnf) :

[mysqld]
server_id = 1
log_bin = ON
binlog_format = ROW
binlog_row_image = FULL
binlog_row_metadata = FULL  ; 仅适用于 10.5.0 及以上版本
expire_logs_days = 1

如果源数据库是副本,请确保同时启用 log_slave_updates

你必须重启 MariaDB 实例,更改才能生效。

配置数据库用户

以 root 用户身份连接到 MariaDB 实例,并执行以下命令:

  1. 为 ClickPipes 创建专用用户:

    CREATE USER 'clickpipes_user'@'%' IDENTIFIED BY 'some_secure_password';
  2. 授予 schema 权限。以下示例显示了 clickpipes 数据库的权限。对于要复制的每个数据库和主机,都需要重复执行这些命令:

    GRANT SELECT ON `clickpipes`.* TO 'clickpipes_user'@'%';
  3. 向该用户授予复制权限:

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

SSL/TLS 配置 (推荐)

SSL 证书可确保与 MariaDB 数据库建立安全连接。具体配置取决于您使用的证书类型:

受信任的证书颁发机构 (DigiCert、Let's Encrypt 等) - 无需额外配置。

内部证书颁发机构 - 请向 IT 团队获取根 CA 证书文件。在 ClickPipes UI 中创建新的 MariaDB ClickPipe 时上传该文件。

自托管 MariaDB - 从 MariaDB 服务器复制 CA 证书 (可通过 my.cnf 中的 ssl_ca 设置查找路径) 。在 ClickPipes UI 中创建新的 MariaDB ClickPipe 时上传该证书。主机请填写服务器的 IP 地址。

11.4 及以上版本的自托管 MariaDB - 如果您的服务器已配置 ssl_ca,请按上述选项操作。否则,请咨询 IT 团队以配置合适的证书。万不得已时,可在 ClickPipes UI 中启用“跳过证书验证”开关 (出于安全考虑,不建议这样做) 。

有关 SSL/TLS 选项的更多信息,请参阅我们的常见问题

下一步是什么?

您现在可以创建您的 ClickPipe,并开始将 MariaDB 实例中的数据摄取到 ClickHouse Cloud。 请务必记下您在设置 MariaDB 实例时使用的连接信息,因为在创建 ClickPipe 的过程中会用到这些信息。

Navigation