Snowflake Connector for MySQL 特征¶
备注
使用 Snowflake Connector for MySQL 需遵守 Connector 条款。
版本支持¶
我们的一般策略是 Snowflake Connector for MySQL 支持任何官方支持的 MySQL 长期支持 (LTS) 版本。随着用户迁移到更新版本,我们将逐步停止对较旧版本的支持,并将在新版本发布时宣布对新版本的支持。
虽然连接器支持许多 MySQL 云版本,但其中一些需要额外设置。请参阅 Snowflake Connector for 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 服务器上的以下设置。
|
设置为 这将启用记录结构和数据更改的二进制日志。 |
|
设置为 该连接器仅支持基于行的复制。MySQL 8.x 版本可能是最后一个支持此设置的版本,将来的版本将仅支持基于行的复制。 不适用于 GCP Cloud SQL,会固定在正确的值。 |
|
设置为 连接器需要所有行元数据才能运行,最重要的是,列名称和主键信息。 |
|
设置为 连接器要求将所有列写入二进制日志。 不适用于 Amazon Aurora,会固定在正确的值。 |
|
留空。 此选项仅影响 JSON 列,在这些列中可以设置为仅包含 JSON 文档中针对 |
|
设置为 至少 几个小时或更长时间,以确保数据库代理可以在长时间暂停或停机后继续增量复制。 如果您使用的是计划复制,则该值需要长于配置的计划。 |
二进制日志¶
MySQL 的二进制日志启用后,就会从给定实例中的 所有 表中收集变更。无法排除表或列。因此,连接器将接收来自数据库中所有表的变更,并且数据库代理将处理您为复制配置的表中的变更,但丢弃对所有其他表的变更。
每个变更都需要首先由数据库代理加载,对于某些 特别大的变更,例如 BLOB
列,即使它们是在未配置复制的表上创建的,这些列也可能会耗尽数据库代理的内存并导致其崩溃。如果在数据库中的任何位置存储特别大的值,请确保为数据库代理及其容器配置足够的内存。
事务大小 由 MySQL 的复制限值 (https://dev.mysql.com/doc/refman/8.4/en/group-replication-limitations.html#group-replication-limitations-transaction-size) 限制为 4 GB 以下。超过限制的事务将导致受影响表的复制永久失败。
代理身份验证¶
当前唯一支持的身份验证方法是用户名和密码。数据库代理配置中的每个数据源条目都包含其自己的一组凭据,并且每个数据源的凭据可能不同。
数据库代理的用户必须具有以下授权:
所有架构和表的
REPLICATION SLAVE
所有架构和表的
REPLICATION CLIENT
所有架构和所有表的
SELECT
有关如何为数据库代理创建用户的说明,请参阅 创建所需的用户。