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