One of the MySQL 5.6 features many people are interested in is
Global Transactions IDs (GTIDs). This is for a good reason:
Reconnecting a slave to a new master has always been a challenge
while it is so trivial when GTIDs are enabled. However, using
GTIDs is not only about replacing good old binlog file/position
with unique identifiers, it is also using a new replication
protocol. And if you are not aware of it, it can bite.
Replication protocols: old vs new
The old protocol is pretty straightforward: the slave connects to
a given binary log file at a specific offset, and the master
sends all the transactions from there.
The new protocol is slightly different: the slave first sends the
range of GTIDs it has executed, and then the master sends every
missing transaction. It also guarantees that a transaction with a
given …
[Read more]