In a more complete example scenario, we envision two replication channels to provide redundancy and thereby guard against possible failure of a single replication channel. This requires a total of four replication servers, two masters for the master cluster and two slave servers for the slave cluster. For purposes of the discussion that follows, we assume that unique identifiers are assigned as shown here:
Server ID | Description |
1 | Master - primary replication channel (M) |
2 | Master - secondary replication channel (M') |
3 | Slave - primary replication channel (S) |
4 | Slave - secondary replication channel (S') |
Setting up replication with two channels is not radically
different from setting up a single replication channel. First, the
mysqld processes for the primary and secondary
replication masters must be started, followed by those for the
primary and secondary slaves. Then the replication processes may
be initiated by issuing the START
SLAVE
statement on each of the slaves. The commands and
the order in which they need to be issued are shown here:
Start the primary replication master:
shellM
>mysqld --ndbcluster --server-id=1 \
--log-bin --binlog-format=row &
Start the secondary replication master:
shellM'
>mysqld --ndbcluster --server-id=2 \
--log-bin --binlog-format=row &
Start the primary replication slave server:
shellS
>mysqld --ndbcluster --server-id=3 \
--skip-slave-start &
Start the secondary replication slave:
shellS'
>mysqld --ndbcluster --server-id=4 \
--skip-slave-start &
Finally, initiate replication on the primary channel by
executing the START SLAVE
statement on the primary slave as shown here:
mysqlS
>START SLAVE;
Only the primary channel is to be started at this point. The secondary replication channel is to be started only in the event that the primary replication channel fails, as described in Section 17.6.8, “Implementing Failover with MySQL Cluster Replication”. Running multiple replication channels simultaneously can result in unwanted duplicate records being created on the replication slaves.
As mentioned previously, it is not necessary to enable binary logging on replication slaves.
User Comments
Add your own comment.