w3resource

Enabling Semi-Synchronous Replication


Configure Semi-Synchronous Replication

Write MySQL commands to enable semi-synchronous replication on a master.

Solution:

-- Install the semi-sync plugin on the master
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

-- Enable semi-sync on the master
SET GLOBAL rpl_semi_sync_master_enabled = 1;

-- Ensure that the server waits for slave acknowledgment
SET GLOBAL rpl_semi_sync_master_timeout = 10000; -- 10 seconds

Explanation:

  • Purpose of the Query:
    • Configures MySQL for semi-synchronous replication, where transactions are only committed when at least one slave has acknowledged receipt.
  • Key Components:
    • Plugin installation and enabling of semi-sync on the master.
    • Setting a timeout for how long the master waits for slave acknowledgment.
  • Real-World Application:
    • Provides a balance between performance and data safety in replication scenarios.

Notes:

  • Performance might be impacted due to waiting for acknowledgment.

For more Practice: Solve these Related Problems:

  • Write MySQL commands to configure semi-synchronous replication on both master and slave with custom timeouts.
  • Write MySQL to enable semi-synchronous replication with multiple slaves, ensuring only one slave must acknowledge.


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous MySQL Exercise: Force a Node to Leave Galera Cluster.
Next MySQL Exercise: Check Semi-Sync Replication Status.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.