Any reason we couldn't use Percona's binlog mirroring to get around the
From: Rick James [mailto:rjames@stripped]
Sent: Thursday, January 27, 2011 2:05 PM
Subject: Re: Circular replication: node failure
I think you have found out the hard way why circular replication with 3+
writable masters is a bad idea.
On 1/27/11 9:33 AM, Wechsler, Steven wrote:
> I've been reading up on circular replication and I think I have a
> grasp of the concepts. However, what I haven't been able to figure out
> is how to recover from a node failure without reloading all the other
> nodes from an arbitrary master, since there seems to be no way to keep
> binary logs in sync.
> Example 4 node circle: A->B->C->D->A. Let's assume B fails.
> Since all transactions in the binary logs are timestamped, is MySQL
> smart enough not to re-run any transactions; that is, if, when I alter
> the slave on C to read from the A (now that B is no longer available),
> set the binlog number to some earlier position (say 1 hour earlier),
> will it skip everything up to the point where it lost the connection?
> The alternative would be to write a Perl script to read the binlogs on
> A, and the relay logs on C, then determine the correct position in
> and alter the slave IO thread on C accordingly, but it seems like
> should already be something in place that can do that automatically.
Rick James - MySQL Geek
MySQL Replication Mailing List
For list archives: http://lists.mysql.com/replication