Now that MySQL 5.5 is in RC, I decided to have a look at the semi synchronous replication. It’s easy to get going, and from my very initial tests appear to be working a treat.
This mode of replication is called semi synchronous due to the fact that it only guarantees that at least one of the slaves have written the transaction to disk in its relay log, not actually committed it to its data files. It guarantees that the data exists by some means somewhere, but not that it’s retrievable through a MySQL client.
Semi sync is available as a plugin, and if you compile from
source, you’ll need to do –with-plugins=semisync….
So far, the semisync plugin can only be built as a dynamic
module, so you’ll need to install it once you’ve got your
instance up and running. To do this, you do as with any other
plugin:
install plugin rpl_semi_sync_master soname …