I am in the process of migrating 2 DB servers (Master & Slave) to two new DB Servers (Master and Slave)
DB1 - Master (production)
DB2 - Slave (production)
DB3 - New Master
DB4 - New Slave
Currently I have the replication set up as:
DB1 -> DB2
DB3 -> DB4
To get the production data replicated to the new servers, I'd like to get it "daisy chained" so that it looks like this:
DB1 -> DB2 -> DB3 -> DB4
Is this possible? When I run show master status;
on DB2 (the production slave) the binlog possition never seems to change:
+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000020 | 98 | | | +------------------+----------+--------------+------------------+
I'm a bit confused as to why the binlog position is not changing on DB2, Ideally it will be the master to DB3.
The binlog on
DB2
wasn't updating the slave updates. To daisy chain the replication, one must setlog-slave-updates
in my.conf.http://dev.mysql.com/doc/refman/5.1/en/replication-options-slave.html#option_mysqld_log-slave-updates
Yes, it is possible :) This is called "Master with Relay Slave" replication and there a lot of documents about it on the net.
I'd recommend you to take a look at the official documentation here.
Btw, also take a look at these slides. They've some hints about replication topologies.
Hope this helps.
yes - you can daisy-chain mysql servers, you can even make a circular replication with two or more machines in it. just remember to enable binloging on slave that also acts as master.
Yes, it is possible. Realistically, you need a new snapshot of DB2 to build DB3. At that point, if you have a good position, you can either use than for DB4 or take another snapshot of DB3.
Don't forget to set unique
server_id
for each server.High Performance MySQL is a great book for referencing more advanced MySQL administration.
Why not just add DB3 as a new slave, and then promote it to master when you're ready to make the switch? This would give you the temporary added benefit of having multiple slaves, and reduce or eliminate your downtime.