These steps assume you have enabled GTIDs for transactions on the
sources using gtid_mode=ON
,
created a replication user, ensured that the replica is using
TABLE
based replication applier metadata
repositories, and provisioned the replica with data from the
sources if appropriate.
Use CHANGE REPLICATION SOURCE TO
to
configure a replication channel for each source on the replica
(see Section 19.2.2, “Replication Channels”). The FOR
CHANNEL
clause is used to specify the channel. For
GTID-based replication, GTID auto-positioning is used to
synchronize with the source (see
Section 19.1.3.3, “GTID Auto-Positioning”). The
SOURCE_AUTO_POSITION
option is set to specify
the use of auto-positioning.
For example, to add source1
and
source2
as sources to the replica, use the
mysql client to issue the statement twice on
the replica, like this:
mysql> CHANGE REPLICATION SOURCE TO SOURCE_HOST="source1", SOURCE_USER="ted", \
SOURCE_PASSWORD="password", SOURCE_AUTO_POSITION=1 FOR CHANNEL "source_1";
mysql> CHANGE REPLICATION SOURCE TO SOURCE_HOST="source2", SOURCE_USER="ted", \
SOURCE_PASSWORD="password", SOURCE_AUTO_POSITION=1 FOR CHANNEL "source_2";
To make the replica replicate only database db1
from source1
, and only database
db2
from source2
, use the
mysql client to issue the
CHANGE REPLICATION FILTER
statement
for each channel, like this:
mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE = ('db1.%') FOR CHANNEL "source_1";
mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE = ('db2.%') FOR CHANNEL "source_2";
For the full syntax of the CHANGE REPLICATION
FILTER
statement and other available options, see
Section 15.4.2.1, “CHANGE REPLICATION FILTER Statement”.