关于 Openflow Connector for MySQL¶
备注
使用该连接器需遵守 连接器条款。
本主题介绍 Openflow Connector for MySQL 的基本概念、工作流和限制。
Openflow Connector for MySQL 可将 MySQL 数据库实例连接到 Snowflake,并近乎实时或按指定计划从选定表中复制数据。该连接器还会创建一个包含所有数据更改的日志,可与当前已复制的表状态一起提供。
如果您希望实现以下功能,可以使用此连接器:
将 MySQL 表的 CDC 复制到 Snowflake,实现全面集中报告
如何复制表¶
表的复制分为以下几个阶段:
架构自检:连接器会发现源表中的列、包括列名和数据类型,然后根据 Snowflake 和连接器的 限制 来验证它们。验证失败会导致此阶段失败,并且周期完成。如果成功完成该阶段,连接器将创建一个空目标表。
快照加载:连接器将源表中的所有可用数据复制到目标表中。如果此阶段失败,则不会再复制任何数据。成功完成后,源表中的数据将在目标表中可用。
增量加载连接器跟踪源表中的更改并将这些更改应用到目标表。此过程将一直持续,直到从复制中移除该表。如果该阶段失败,将永久停止源表的复制,直到问题解决。
备注
临时故障(例如连接错误)不会停止表的复制。但是,永久性故障(例如不支持的数据类型)会停止对表进行复制。
如果永久性故障导致表无法复制,请将该表从要复制的表列表中移除。解决了导致失败的问题后,可以将该表重新添加到要复制的表列表中。
工作流程¶
MySQL 数据库管理员 执行以下任务:
配置 MySQL 复制设置
为连接器创建证书
(可选)提供 SSL 证书。
Snowflake 账户管理员 执行以下任务:
为连接器创建服务用户,为连接器创建仓库,为复制数据创建目标数据库。
将连接器定义文件下载并导入到 Snowflake Openflow 画布中。
为流模板指定必需的参数。
运行流程。连接器在 Openflow 中运行时执行以下任务:
创建一个架构,用于日志表。
创建与源表对应的架构和目标表,用于复制。
开始复制表。有关复制流程的详细信息,请参阅 如何复制表。
支持的 MySQL 版本¶
下表列出了经过测试和官方支持的 MySQL 版本。
8.0 |
8.4 |
|
---|---|---|
Standard (https://www.mysql.com/) |
是 |
是 |
AWS RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html) |
是 |
|
Amazon Aurora (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/Welcome.html) |
是,与版本 3 相同 |
|
GCP Cloud SQL (https://cloud.google.com/sql/mysql?hl=en) |
是 |
是 |
Azure Database (https://azure.microsoft.com/en-us/products/mysql/) |
否 |
限制¶
该连接器支持 MySQL 版本 8 或更高版本。
连接器仅支持使用用户名和密码的方式进行身份验证,以连接 MySQL。
如果表中的数据超出 Snowflake 的类型限制,则连接器无法复制该表。
连接器不复制以下类型的列:GEOMETRY、GEOMETRYCOLLECTION、LINESTRING、MULTILINESTRING、MULTIPOINT、MULTIPOLYGON、POINT 和 POLYGON。
该连接器具有 MySQL 组复制限制 (https://dev.mysql.com/doc/refman/8.4/en/group-replication-limitations.html#group-replication-limitations-transaction-size)。这意味着单个事务必须适合大小不超过 4 GB 的二进制日志消息。
连接器要求每个复制的表都有主键。
该连接器支持源表架构更改,但不支持更改主键定义、数字列的精度或小数位数。
该连接器不支持多集群 Openflow 运行时。
备注
通过将这些特定列排除在复制范围之外,可以绕过影响某些表列的限制。