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.0. 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 details, and important information on the default authentication plugin for new users from MySQL 8.0, see Section 19.1.2.3, “Creating a User for Replication”.