Mysql – How to re-sync the Mysql DB if some Masters have different database incase of MySQL Group replication

MySQL

Somehow one of my server got into split brain situation, how can we reset & sync back one of servers's data with another master.

i won't mind lossing one's set of new data but i want now that detached server to in sync with others.

suppose i've only two servers. because after split brain now its not more be able to join group replication because it has many more new transaction and another one also have many new.

there is similar question for normal master slave mysql config
How to re-sync the Mysql DB if Master and slave have different database incase of Mysql replication?

but here i am talking about group replication in mysql.

Best Answer

I assume you have a group with transactions A and B and your diverged server has some transactions C that are not in the group, so you cannot join it.

In this case you can setup a group member (if in single primary mode it shall be the primary) as a slave of this diverged member using master-slave replication. This way all the data that was written into the diverged member will be replicated to the group.

I'm assuming 1) all the data on the diverged member has GTIDs that were not reused by the group and 2) your data is safe to replicate to the group, i.e., it is not outdated or has any other data logic issue that only you can know.

When group has this data, you can stop the master slave connection and add the diverged member to the group.