MySQL 5.7.6 introduces the concept of a replication channel, which represents the path of transactions flowing from a master to a slave. This section describes how channels can be used in a replication topology, and the impact they have on single-source replication.
To provide compatibity with previous versions, the MySQL server
automatically creates on startup a default channel whose name is the
empty string (
""). This channel is always
present; it cannot be created or destroyed by the user. If no other
channels (having nonempty names) have been created, replication
statements act on the default channel only, so that all replication
statements from older slaves function as expected (see
Section 5.3.2, “Compatibility with Previous Replication Statements”. Statements
applying to replication channels as described in this section can be
used only when there is at least one named channel.
A replication channel encompasses the path of transactions transmitted from a master to a slave. In multi-source replication a slave opens multiple channels, one per master, and each channel has its own relay log and applier (SQL) threads. Once transactions are received by a replication channel's receiver (I/O) thread, they are added to the channel's relay log file and passed through to an applier thread. This enables channels to function independently.
A replication channel is also associated with a host name and port. You can assign multiple channels to the same combination of host name and port; in MySQL 5.7, the maximum number of channels that can be added to one slave in a multi-source replication topology is 256. Each replication channel must have a unique (nonempty) name (see Section 5.3.4, “Replication Channel Naming Conventions”). Channels can be configured independently.