MySQL 8.4 Release Notes
19.1.5 MySQL 多源复制
MySQL 8.4 中的多源复制使得副本可以并行地从多个直接源接收事务。在多源复制拓扑结构中,副本为每个源创建一个复制通道,以便从该源接收事务。有关复制通道的信息,请参见第19.2.2节,“复制通道”。
您可能选择实现多源复制来实现以下目标:
-
将多个服务器备份到单个服务器。
-
合并表分片。
-
将数据从多个服务器合并到单个服务器。
多源复制不实现任何冲突检测或解决方案,当应用事务时将留给应用程序处理。
Note
多源复制中的每个频道都必须从不同的源复制数据。您不能从同一个源设置多个复制频道到同一个复制服务器。这是因为复制服务器的ID必须在复制拓扑结构中唯一。源服务器只能通过复制服务器的ID来识别复制服务器,而不是通过复制频道的名称,因此无法识别来自同一个复制服务器的不同复制频道。
多源复制服务器也可以设置为多线程复制服务器,通过将系统变量replica_parallel_workers
设置为大于0的值。当您在多源复制服务器上这样做时,每个频道都将有指定的并发线程数,plus 一个协调线程来管理它们。您不能为单个频道配置并发线程数。
MySQL 8.4还支持在多源复制服务器上使用特定频道的复制过滤器。可以在同一个数据库或表存在于多个源服务器上,并且您只需要复制服务器从一个源服务器复制它。对于基于GTID的复制,如果同一个事务可能来自多个源服务器(例如,在三角拓扑结构中),您必须确保所有频道上的过滤器设置相同。更多信息,请见第19.2.5.4节,“Replication Channel Based Filters”。
本节提供了多源复制的配置、启动、停止和重置多源复制服务器的教程,以及多源复制的监控方法。