w3resource

Adding Nodes to a Galera Cluster


Implement Galera Cluster for MySQL

Write MySQL commands to join a node to an existing Galera Cluster.

Solution:

-- Stop the MySQL service on the new node
-- (This step must be performed outside SQL, e.g., via system commands like 'service mysql stop')

-- Edit my.cnf to include cluster settings:
-- wsrep_provider=/usr/lib/galera/libgalera_smm.so
-- wsrep_cluster_address="gcomm://existing_node1,existing_node2"
-- wsrep_cluster_name="my_cluster"

-- Start the MySQL service with cluster bootstrap:
-- (This step must be performed outside SQL, e.g., 'galera_new_cluster --wsrep_cluster_address="gcomm://"')

-- Once MySQL is running, check cluster status:
SHOW STATUS LIKE 'wsrep_cluster_size';
SHOW STATUS LIKE 'wsrep_cluster_status';

Explanation:

  • Purpose of the Query:
    • Adds a new node to an existing Galera Cluster, which provides synchronous replication for MySQL.
  • Key Components:
    • Configuration changes in my.cnf for cluster settings.
    • Cluster bootstrap is necessary for the first node or when recovering from a complete cluster shutdown.
  • Real-World Application:
    • Ensures data consistency across all nodes, beneficial for high availability setups.

Notes:

  • Be cautious with node addition to avoid cluster split-brain scenarios.
  • Ensure all nodes have identical data before joining unless using state transfer.

For more Practice: Solve these Related Problems:

  • Write MySQL commands to add a node to an existing Galera Cluster with state transfer settings.
  • Write MySQL to configure a node to join a Galera Cluster with specific flow control settings.

Go to:


PREV : Check Replication Lag.
NEXT : Monitor Galera Cluster Health.

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.