Removing dead server from replication ring
I have a fairly simple replication setup, A->B->C->A. Machine B has gone away and cannot be replaced, so I need to remove it from the ring. The problem is that it took a month to determine that B would never return, and in the meantime updates have happened. So A has a correct copy of the database, but C is patiently waiting for B to come back up so that it can pull the updates.
One obvious option would be shut down both remaining servers, mysqldump A and reload C, then reconfigure the master/slave setup to be A->C->A. But I'm wondering whether I might be able to do something simpler. If I were to simply modify C so that its master is A, would it correctly read the logs on A and replay just the transactions it missed? I don't know the log format, so I'm unable to answer this question myself.
FWIW, these servers are relatively inactive (a few updates per day, primarily to a single table). I checked the mysql-bin files in /var/lib/mysql and they are all present (back several years in fact) so I can be confident that no data would be lost. I just don't know whether the server on C would have enough information to replay onlty the transactions it missed.
Subject
Views
Written By
Posted
Removing dead server from replication ring
813
May 16, 2018 06:51PM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.