MySQL ClickPipe 支持 MariaDB 吗?
MySQL ClickPipe 是否支持 PlanetScale、Vitess 或 TiDB?
复制是如何管理的?
GTID 和 FilePos 复制。与 Postgres 不同,这里没有用于管理偏移量的 slot。相反,你必须为 MySQL 服务器配置足够长的 binlog 保留期。如果我们在 binlog 中的偏移量失效 (例如,mirror 暂停时间过长,或使用 FilePos 复制时发生数据库故障转移),则需要重新同步该管道。请务必根据目标表优化 materialized view,因为低效查询可能会拖慢摄取速度,导致其落后于保留期。
对于不活跃的数据库,也可能出现日志文件轮转,导致 ClickPipes 无法推进到更新的偏移量。你可能需要设置一个心跳表,并定期更新。
在初始加载开始时,我们会记录起始 binlog 偏移量。要让 CDC (变更数据捕获) 继续推进,该偏移量在初始加载完成时必须仍然有效。如果你正在摄取大量数据,请务必配置合适的 binlog 保留期。设置表时,你可以在高级设置中为大表配置 对初始加载使用自定义分区键,这样我们就能并行加载单个表,从而加快初始加载速度。
连接到 MySQL 时,为什么会出现 TLS 证书验证错误?
x509: certificate is not valid for any names 或 x509: certificate signed by unknown authority 等证书错误。这是因为 ClickPipes 默认启用了 TLS 加密。
你可以通过以下几种方式解决这些问题:
- 设置 TLS Host 字段 - 当连接中使用的 hostname 与证书中的名称不一致时 (这在通过 Endpoint Service 使用 AWS PrivateLink 时很常见) ,就可能出现此问题。请将 “TLS Host (optional)” 设置为与证书的 Common Name (CN) 或 Subject Alternative Name (SAN) 相匹配。
- 上传 Root CA - 适用于使用内部 CA 的 MySQL 服务器,或采用默认按实例划分 CA 配置的 Google Cloud SQL。有关如何获取 Google Cloud SQL 证书的更多信息,请参见本节。
- 配置服务器证书 - 更新服务器的 SSL 证书,使其包含所有连接时使用的 hostname,并由受信任的 CA 签发。
- 跳过证书验证 - 适用于 self-hosted MySQL 或 MariaDB,它们的默认配置会预配我们无法验证的自签名证书 (MySQL、MariaDB) 。依赖此类证书可以加密传输中的数据,但也会带来服务器冒充的风险。我们建议在生产环境中使用正确签发的证书,不过对于一次性实例测试或连接到旧有基础设施,此选项仍然很有用。