文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  MySQL 多源复制

19.1.5 MySQL 多源复制

MySQL 9.0 中的多源复制使副本能够并行接收来自多个直接源的事务。在多源复制拓扑中,副本为它应该接收事务的每个源创建一个复制通道。有关复制通道功能的更多信息,请参见 第 19.2.2 节,“复制通道”

您可能选择实现多源复制以实现以下目标

  • 将多个服务器备份到单个服务器。

  • 合并表分片。

  • 将多个服务器上的数据合并到单个服务器。

多源复制在应用事务时不执行任何冲突检测或解决,这些任务将留给应用程序(如果需要)。

注意

多源副本上的每个通道必须从不同的源复制。您不能从单个副本到单个源设置多个复制通道。这是因为副本的服务器 ID 在复制拓扑中必须是唯一的。源仅通过服务器 ID 区分副本,而不是通过复制通道的名称,因此它无法识别来自相同副本的不同复制通道。

通过将系统变量 replica_parallel_workers 设置为大于 0 的值,还可以将多源副本设置为多线程副本。当您在多源副本上执行此操作时,副本上的每个通道都具有指定数量的应用器线程,以及一个协调器线程来管理它们。您不能为单个通道配置应用器线程的数量。

MySQL 9.0 还支持在多源副本的特定复制通道上使用复制过滤器。当多个源上存在相同的数据库或表,而您只需要副本从一个源复制它时,可以使用特定于通道的复制过滤器。对于基于 GTID 的复制,如果相同的事务可能来自多个源(例如,在菱形拓扑中),则必须确保所有通道上的过滤设置相同。有关更多信息,请参见 第 19.2.5.4 节,“基于复制通道的过滤器”

本节提供了有关如何为多源复制配置源和副本、如何启动、停止和重置多源副本以及如何监控多源复制的教程。