Documentation Home
MySQL 8.0 参考手册  / 第十七章复制  / 17.1 配置复制  / 17.1.5 MySQL多源复制  /  16.1.5.1 配置多源复制

16.1.5.1 配置多源复制

多源复制拓扑需要至少配置两个源和一个副本。在这些教程中,我们假设您有两个来源source1source2以及一个副本 replicahostdb1副本从 source1db2来自 的每个源复制一个数据库source2

多源复制拓扑中的源可以配置为使用基于 GTID 的复制或基于二进制日志位置的复制。有关如何使用基于 GTID 的复制配置源,请参阅第 16.1.3.4 节,“使用 GTID 设置复制”。有关如何使用基于文件位置的复制配置源 ,请参阅 第 16.1.2.1 节,“设置复制源配置” 。

多源复制拓扑中的副本需要 TABLE连接元数据存储库和应用程序元数据存储库的存储库,由 master_info_repositoryrelay_log_info_repository系统变量指定。多源复制与 FILE存储库不兼容。

FILE要修改正在使用复制元数据存储库的存储库 的现有副本 以使用存储库,您可以通过使用mysql客户端在副本上发出以下语句来 TABLE动态转换现有存储库 :

mysql> STOP SLAVE;
mysql> SET GLOBAL master_info_repository = 'TABLE';
mysql> SET GLOBAL relay_log_info_repository = 'TABLE';

在副本可用于连接的所有复制源服务器上创建合适的用户帐户。您可以在所有来源上使用相同的帐户,也可以在每个来源上使用不同的帐户。如果您仅为复制目的创建帐户,则该帐户只需要REPLICATION SLAVE权限。例如,要设置一个 ted可以从副本连接 的新用户,请replicahost使用mysql 客户端在每个源上发出这些语句:

mysql> CREATE USER 'ted'@'replicahost' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'ted'@'replicahost';

有关详细信息,请参阅第 16.1.2.2 节,“为复制创建用户”