关于 Openflow Connector for MySQL¶
备注
This connector is subject to the Snowflake Connector Terms.
本主题介绍 Openflow Connector for MySQL 的基本概念、工作流和限制。
Openflow Connector for MySQL 可将 MySQL 数据库实例连接到 Snowflake,并近乎实时或按指定计划从选定表中复制数据。该连接器还会创建一个包含所有数据更改的日志,可与当前已复制的表状态一起提供。
如果您希望实现以下功能,可以使用此连接器:
将 MySQL 表的 CDC 复制到 Snowflake,实现全面集中报告
如何复制表¶
表的复制分为以下几个阶段:
架构自检:连接器会发现源表中的列、包括列名和数据类型,然后根据 Snowflake 和连接器的 限制 来验证它们。验证失败会导致此阶段失败,并且周期完成。如果成功完成该阶段,连接器将创建一个空目标表。
快照加载:连接器将源表中的所有可用数据复制到目标表中。如果此阶段失败,则不会再复制任何数据。成功完成后,源表中的数据将在目标表中可用。
增量加载连接器跟踪源表中的更改并将这些更改应用到目标表。此过程将一直持续,直到从复制中移除该表。如果该阶段失败,将永久停止源表的复制,直到问题解决。
备注
This connector can be configured to immediately start replicating incremental changes for newly added tables, bypassing the snapshot load phase. This option is often useful when reinstalling the connector in an account where previously replicated data exists and you want to continue replication without having to re-snapshot tables.
For details on the bypassing snapshot load and using the incremental load process, see Incremental replication.
重要
Interim failures, such as connection errors, do not prevent tables from being replicated. Permanent failures, such as unsupported data types, do prevent tables from being replicated. If a permanent failure prevents a table from being replicated, remove the table from the list of replicated tables. After you address the problem that caused the failure, you can add the table back to the list of replicated tables.
工作流程¶
MySQL 数据库管理员 执行以下任务:
配置 MySQL 复制设置
为连接器创建证书
(可选)提供 SSL 证书。
Snowflake 账户管理员 执行以下任务:
为连接器创建服务用户,为连接器创建仓库,为复制数据创建目标数据库。
安装连接器。
为流模板指定必需的参数。
运行流程。连接器在 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/) |
是 |
是 |
Openflow 要求¶
运行时大小必须至少为“Medium”。复制大容量数据时请使用更大的运行时环境,尤其是在行大小较大的情况下。
该连接器不支持多节点 Openflow 运行时。使用 Min nodes 配置此连接器的运行时,并将 Max nodes 设置为
1。
限制¶
该连接器支持 MySQL 版本 8 或更高版本。
连接器仅支持使用用户名和密码的方式进行身份验证,以连接 MySQL。
Only database tables containing primary keys can be replicated.
如果表中的数据超出 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 的二进制日志消息。
The connector does not support replicating tables from a reader instance in Amazon Aurora as Aurora reader instances do not maintain their own binary logs.
该连接器支持源表架构更改,但不支持更改主键定义、数字列的精度或小数位数。
备注
通过将这些特定列排除在复制范围之外,可以绕过影响某些表列的限制。