Is there a way to amend a MySQL split brain scenario? When two servers are diverged from each other, is it possible to identify and undo the conflicting changes?
We introduce gh-mysql-rewind, which combines multiple technologies to achieve auto-resolution of data divergence. This presentation explains how gh-mysql-rewind works, and how it is being tested in production to validate its operation.
25. ! !
!
Binarylogs
Finding bad transactions in binlogs
mysql-bin.0000620
mysql-bin.0000621
mysql-bin.0000622
mysql-bin.0000623
26. Finding bad transactions in binlogs
# at 4
#190103 11:17:14 server id 1 end_log_pos 123 CRC32 0x60730f6b Start: binlog v 4, server v 5.7.17-log created 190103 11:17:14 at
startup
ROLLBACK/*!*/;
BINLOG '
GtMtXA8BAAAAdwAAAHsAAAAAAAQANS43LjE3LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAa0y1cEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAAACgoKKioAEjQA
AWsPc2A=
'/*!*/;
# at 123
#190103 11:17:14 server id 1 end_log_pos 194 CRC32 0x48f18c88 Previous-GTIDs
# 00020192-1111-1111-1111-111111111111:1-59023
# at 194
30. gh-mysql-rewind: back in time
Havewejustmadethingsevenworse?
Wherearewe?
gtid_executedisamess!
Whathappensifwereconnectthe
serverintothetopology?
! !
!
Binarylogs