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