List:Replication« Previous MessageNext Message »
From:Steven Wechsler Date:January 27 2011 5:33pm
Subject:Circular replication: node failure
View as plain text  
Hi,

I've been reading up on circular replication and I think I have a decent
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), I
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 both
and alter the slave IO thread on C accordingly, but it seems like there
should already be something in place that can do that automatically. Is
there?

Thanks,

Steve


Thread
Circular replication: node failureSteven Wechsler27 Jan
  • Re: Circular replication: node failureRick James27 Jan
    • RE: Circular replication: node failureSteven Wechsler27 Jan
  • Re: Circular replication: node failureMats Kindahl28 Jan