多源复制拓扑需要至少配置两个源和一个副本。在这些教程中,我们假设您有两个源source1
和
source2
以及一个副本
replicahost
。db1
副本从
source1
和db2
来自
的每个源复制一个数据库source2
。
多源复制拓扑中的源可以配置为使用基于 GTID 的复制或基于二进制日志位置的复制。有关如何使用基于 GTID 的复制配置源,请参阅第 17.1.3.4 节,“使用 GTID 设置复制”。有关如何使用基于文件位置的复制配置源 ,请参阅 第 17.1.2.1 节,“设置复制源配置” 。
多源复制拓扑
TABLE
中的副本需要副本的连接元数据存储库和应用程序元数据存储库的存储库,这是 MySQL 8.0 中的默认设置。多源复制与已弃用的替代文件存储库不兼容。
在副本可用于连接的所有源上创建合适的用户帐户。您可以在所有来源上使用相同的帐户,也可以在每个来源上使用不同的帐户。如果您仅为复制目的创建帐户,则该帐户只需要REPLICATION SLAVE
权限。例如,要设置一个ted
可以从副本连接的新用户,请replicahost
使用mysql客户端在每个源上发出这些语句:
mysql> CREATE USER 'ted'@'replicahost' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'ted'@'replicahost';
有关 MySQL 8.0 新用户的默认身份验证插件的更多详细信息和重要信息,请参阅 第 17.1.2.3 节,“为复制创建用户”。