MySQL ClickPipe 提供了一种全托管且可靠的方式,可将 MySQL 和 MariaDB 数据库中的数据摄取到 ClickHouse Cloud。它既支持用于一次性摄取的 批量加载,也支持用于持续摄取的 CDC (变更数据捕获) 。
MySQL ClickPipes 既可通过 ClickPipes UI 手动部署和管理,也可通过 OpenAPI 和 Terraform 以编程方式部署和管理。
前置条件
开始之前,您首先需要确保 MySQL 数据库已正确配置为支持 binlog 复制。具体配置步骤取决于您部署 MySQL 的方式,因此请按照下方对应的指南进行操作:
支持的数据源
| 名称 | 标志 | 详情 |
|---|---|---|
| Amazon RDS MySQL 一次性加载,CDC |
请参阅 Amazon RDS MySQL 配置指南。 | |
| Amazon Aurora MySQL 一次性加载,CDC |
请参阅 Amazon Aurora MySQL 配置指南。 | |
| Cloud SQL for MySQL 一次性加载,CDC |
请参阅 Cloud SQL for MySQL 配置指南。 | |
| Azure Database for MySQL 灵活服务器 一次性加载 |
请参阅 Azure Database for MySQL 灵活服务器 配置指南。 | |
| 自托管 MySQL 一次性加载,CDC |
请参阅 Generic MySQL 配置指南。 | |
| Amazon RDS MariaDB 一次性加载,CDC |
请参阅 Amazon RDS MariaDB 配置指南。 | |
| 自托管 MariaDB 一次性加载,CDC |
请参阅 Generic MariaDB 配置指南。 |
设置好源 MySQL 数据库后,您就可以继续创建 ClickPipe。
创建你的 ClickPipe
请确保你已登录到 ClickHouse Cloud 账户。如果你还没有账户,可以在这里注册。
- 在 ClickHouse Cloud 控制台中,前往你的 ClickHouse Cloud 服务。

- 在左侧菜单中选择
Data Sources按钮,然后点击“Set up a ClickPipe”

- 选择
MySQL CDC卡片

添加源 MySQL 数据库连接
- 填写你在前置条件步骤中配置的源 MySQL 数据库连接信息。

(可选) 修改 TLS 设置
默认情况下,您的 ClickPipe 在创建时会启用 TLS 和证书验证。您可以在创建 ClickPipe 时修改这些默认设置:

或者在已暂停的 ClickPipe 的 Settings 选项卡中的 Connection settings 部分进行编辑:


说明如下:
Disable TLS用于为该连接启用或禁用 TLS。关闭 TLS 意味着数据会以明文形式通过网络传输,其中可能包含 secrets 和敏感数据。Skip certificate verification用于启用或禁用对源数据库所提供证书的验证。请务必考虑跳过证书验证带来的安全影响。TLS Host(可选,默认为源 Host) 是在启用证书验证时,证书的 CN 必须匹配的 hostname。Upload CA可用于提供在启用证书验证时使用的 CA。
(可选) 设置 SSH 隧道
如果源 MySQL 数据库无法从公网访问,您可以指定 SSH 隧道连接信息。
-
启用“使用 SSH 隧道”开关。
-
填写 SSH 连接信息。

-
如需使用基于密钥的身份验证,请点击“撤销并生成密钥对”生成新的密钥对,并将生成的公钥复制到 SSH 服务器上的
~/.ssh/authorized_keys。 -
点击“验证连接”以检查连接是否可用。
填写完连接信息后,点击 Next。
配置高级设置
如有需要,您可以配置高级设置。以下是各项设置的简要说明:
- 同步间隔:指 ClickPipes 轮询源数据库变更的时间间隔。这会影响目标端 ClickHouse 服务;对于对成本较敏感的用户,建议将该值设高一些 (大于
3600) 。 - 初始加载并行线程数:指用于拉取初始快照的并行工作线程数。当您有大量表,并希望控制用于拉取初始快照的并行工作线程数时,此设置会很有用。此设置按表生效。
- 拉取批次大小:单个批次中拉取的行数。这是一个尽力而为的设置,因此在某些情况下可能不会严格生效。
- 快照每个分区的行数:指初始快照期间每个分区中将拉取的行数。当您的表中有大量行,并希望控制每个分区拉取的行数时,此设置会很有用。
- 快照并行表数量:指初始快照期间并行拉取的表数量。当您有大量表,并希望控制并行拉取的表数量时,此设置会很有用。
- Server ID:用于设置 MySQL binlog 复制的服务器 ID 的可选参数。若未设置,ClickPipes 将生成一个随机服务器 ID,并且该 ID 在 ClickPipe 生命周期内可能发生变化。您可以使用它在源端 MySQL 服务器上以确定性方式标识您的 ClickPipe。
配置表
-
在此,您可以为 ClickPipe 选择目标数据库。您既可以选择现有数据库,也可以新建数据库。

-
您可以选择要从源 MySQL 数据库复制的表。选择表时,您还可以重命名目标 ClickHouse 数据库中的表,并排除特定列。
-
此外,您可以提供自定义的
PARTITION BY <expr>表达式,以控制目标端 ClickHouse 表的分区方式。
查看权限并启动 ClickPipe
-
在权限下拉菜单中选择“完全访问”角色,然后点击“完成设置”。

最后,请参阅 "ClickPipes for MySQL 常见问题" 页面,了解常见问题及其解决方法的更多信息。
后续步骤?
完成 ClickPipe 配置,将数据从 MySQL 复制到 ClickHouse Cloud 后,你就可以重点考虑如何查询和建模数据,以获得最佳性能。有关 MySQL CDC 和故障排查的常见问题,请参阅 MySQL 常见问题页面。