19.1.5.1 Configuring Multi-Source 复制
A multi-source replication topology requires at least two sources and one replica configured. In these tutorials, we assume that you have two sources source1
and source2
, and a replica replicahost
. The replica replicates one database from each of the sources, db1
from source1
and db2
from source2
.
Sources in a multi-source replication topology can be configured to use either GTID-based replication, or binary log position-based replication. See Section 19.1.3.4, “Setting Up Replication Using GTIDs” for how to configure a source using GTID-based replication. See Section 19.1.2.1, “Setting the Replication Source Configuration” for how to configure a source using file position based replication.
Replicas in a multi-source replication topology require TABLE
repositories for the replica's connection metadata repository and applier metadata repository, which are the default in MySQL 8.4. Multi-source replication is not compatible with the deprecated alternative file repositories.
Create a suitable user account on all the sources that the replica can use to connect. You can use the same account on all the sources, or a different account on each. If you create an account solely for the purposes of replication, that account needs only the REPLICATION SLAVE
privilege. For example, to set up a new user, ted
, that can connect from the replica replicahost
, use the mysql client to issue these statements on each of the sources:
mysql> CREATE USER 'ted'@'replicahost' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'ted'@'replicahost';
For more information about the default authentication plugin for new users, see Section 19.1.2.3, “Creating a User for Replication”.