Documentation Home
MySQL Internals Manual

MySQL Internals Manual  /  MySQL Client/Server Protocol  /  Semi-Synchronous Replication

14.11 Semi-Synchronous Replication

In MySQL 5.5 replication can optionally be made semi-synchronous instead of the traditionally asynchronous replication.

The clients COMMIT (or in auto-commit mode the current statement) waits until _one_ slave acknowledged that it received (not neccesarilly executed) the transaction or a timeout is reached. In case the timeout is reached, semi-sync replication is disabled.

For more information, see Semisynchronous Replication.

To see of the master supports semi-sync replication run:

SHOW VARIABLES LIKE 'rpl_semi_sync_master_enabled';

The slave requests semi-sync replication by sending:

SET @rpl_semi_sync_slave = 1;

which the master either responds with a OK_Packet if it supports semi-sync replication or with ERR_Packet if it doesn't.