The administrative interface to semisynchronous replication has several components:
Two plugins implement semisynchronous capability. There is one plugin for the master side and one for the slave side.
System variables control plugin behavior. Some examples:
Controls whether semisynchronous replication is enabled on the master. To enable or disable the plugin, set this variable to 1 or 0, respectively. The default is 1.
A value in seconds that controls how long the master waits on a commit for acknowledgment from a slave before timing out and reverting to asynchronous replication. The default value is 10 seconds.
Similar to
rpl_semi_sync_master_enabled
, but controls the slave plugin.
All
rpl_semi_sync_
system variables are described at Section 5.1.4, “Server System Variables”.xxx
Status variables enable semisynchronous replication monitoring. Some examples:
The number of semisynchronous slaves.
Whether semisynchronous replication currently is operational on the master. The value is 1 if the plugin has been enabled and a commit acknowledgment has occurred. It is 0 if the plugin is not enabled or the master has fallen back to asynchronous replication due to commit acknowledgment timeout.
The number of commits that were not acknowledged successfully by a slave.
The number of commits that were acknowledged successfully by a slave.
Whether semisynchronous replication currently is operational on the slave. This is 1 if the plugin has been enabled and the slave I/O thread is running, 0 otherwise.
All
Rpl_semi_sync_
status variables are described at Section 5.1.6, “Server Status Variables”.xxx
The system and status variables are available only if the
appropriate master or slave plugin has been installed with
INSTALL PLUGIN
.