从 Azure Database for MySQL - 灵活服务器复制数据
通过数据传出复制,可以使用 MySQL 本机复制将数据从 Azure Database for MySQL 灵活服务器实例同步到另一台 MySQL 服务器。 MySQL 服务器(副本)可以位于本地、虚拟机中或是其他云提供商托管的数据库服务中。 将数据复制到 Azure Database for MySQL 灵活服务器可帮助将数据移动到 Azure Database for MySQL 灵活服务器实例(副本),而数据传出复制允许将数据传输出 Azure Database for MySQL 灵活服务器实例(主服务器)。 通过数据传出复制,二进制日志 (binlog) 可供社区使用,使 Azure Database for MySQL 灵活服务器实例可充当外部副本的主服务器。 若要了解有关 binlog 复制的详细信息,请参阅 MySQL binlog 复制概述。
注意
配置了 Azure 身份验证的 Azure Database for MySQL 灵活服务器实例不支持数据传出复制。
可以考虑使用数据传出复制的主要场景有:
混合数据同步:数据传出复制可用于在 Azure Database for MySQL 灵活服务器和本地服务器之间保持数据同步。 此方法有助于在混合解决方案中的云和本地系统之间无缝集成。 如果你想要避免供应商锁定,此解决方案也可能很有用。
多云同步:对于复杂的云解决方案,使用数据传出复制在 Azure Database for MySQL 灵活服务器和不同云提供商之间同步数据,包括虚拟机和托管在这些云中的数据库服务。
迁移:客户可以结合使用 MyDumper/MyLoader 等开源工具和数据传出复制来执行时间最短的迁移,以从 Azure Database for MySQL 灵活服务器迁移数据。
限制和注意事项
不支持 Microsoft Entra ID
配置了 Azure 身份验证的 Azure Database for MySQL 灵活服务器实例不支持数据传出复制。 源服务器上的任何 Microsoft Entra 事务(Microsoft Entra 用户创建/更新)将中断数据传出复制。
提示
使用此处发布的指导 - MySQL :: MySQL 复制 :: 2.7.3 通过发出 CHANGE MASTER TO 语句将源的二进制日志位置前移,跳过事务以跳过一个或多个事件。 完成该操作后重新开始复制。
筛选器
必须使用复制筛选器筛选出副本服务器上的 Azure 自定义表。 为此,可以设置 Replicate_Wild_Ignore_Table = "mysql.__%" 以筛选副本上的 Azure MySQL 内部表。 若要从 Azure 门户修改此参数,请导航到 Azure Database for MySQL 灵活服务器实例,然后选择“服务器参数”以查看/编辑 Replicate_Wild_Ignore_Table 参数。
请在 MySQL 手册中参阅以下有关复制筛选器的一般指导:
- MySQL 5.7 参考手册 - 13.4.2.2 CHANGE REPLICATION FILTER 语句
- MySQL 5.7 参考手册 - 16.1.6.3 副本服务器选项和变量
- MySQL 8.0 参考手册 - 17.2.5.4 基于复制通道的筛选器