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.

Go to:


PREV : Force a Node to Leave Galera Cluster.
NEXT : Check Semi-Sync Replication Status.

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

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.