Snowflake Connector for MySQL 特征¶
重要
感谢您对 Snowflake Connector for MySQL 的关注。我们目前正专注于下一代解决方案,以提供显著改进的体验,因此,将此连接器移至正式发布状态目前不在我们的产品路线图上。您仍可继续将该连接器作为预览功能使用,但请注意,我们不能保证支持未来的错误修复和改进。新解决方案作为 Openflow Connector for MySQL 提供,包括更好的性能、可定制性和增强的部署选项。
版本支持¶
我们的一般策略是 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
有关如何为数据库代理创建用户的说明,请参阅 创建所需的用户。