Documentation Home
MySQL Replication
Related Documentation Download this Excerpt
PDF (US Ltr) - 1.4Mb
PDF (A4) - 1.4Mb
HTML Download (TGZ) - 366.7Kb
HTML Download (Zip) - 381.2Kb

MySQL Replication  /  Configuring Replication  /  MySQL Multi-Source Replication

2.4 MySQL Multi-Source Replication

MySQL multi-source replication enables a replication slave to receive transactions from multiple immediate masters in parallel. In a multi-source replication topology, a slave creates a replication channel for each master that it should receive transactions from. For more information on how replication channels function, see Section 5.3, “Replication Channels”.

You might choose to implement multi-source replication to achieve goals like these:

  • Backing up multiple servers to a single server.

  • Merging table shards.

  • Consolidating data from multiple servers to a single server.

Multi-source replication does not implement any conflict detection or resolution when applying transactions, and those tasks are left to the application if required.


Each channel on a multi-source replication slave must replicate from a different master. You cannot set up multiple replication channels from a single slave to a single master. This is because the server IDs of replication slaves must be unique in a replication topology. The master distinguishes slaves only by their server IDs, not by the names of the replication channels, so it cannot recognize different replication channels from the same slave.

A rmulti-source replication slave can also be set up as a multi-threaded replication slave, by setting the slave_parallel_workers system variable to a value greater than 0. When you do this on a multi-source replication slave, each channel on the slave has the specified number of applier threads, plus a coordinator thread to manage them. You cannot configure the number of applier threads for individual channels.

This section provides tutorials on how to configure masters and slaves for multi-source replication, how to start, stop and reset multi-source slaves, and how to monitor multi-source replication.