Pay-As-You-Go VPS – Only pay for what you use, with flexible billing and no long-term commitment

Deploy MariaDB Cluster on Linux: Step-by-Step Guide

September 19, 2025

 

Setting up a MariaDB Cluster on a Linux system can greatly enhance database scalability, availability, and reliability. A highly available database cluster is crucial for organizations that require constant data access. This guide walks you through the process of deploying a MariaDB Cluster, ensuring that your systems are robust and prepared to handle varying loads and requests.

Overview of MariaDB Clusters

A MariaDB Cluster integrates the benefits of MariaDB Galera, a synchronous multi-master replication solution. This setup allows multiple server instances to work together seamlessly. The primary advantages of deploying a MariaDB Cluster include improved data redundancy, load balancing, and reduced downtime due to maintenance or failures.

Prerequisites

Before you proceed with the installation, ensure that you have the following:

  • Linux Distribution: Ubuntu, CentOS, or any compatible Linux distribution.
  • Multiple Servers: Ideally, deploy the cluster on at least three nodes for better availability and redundancy.
  • Root Access: Ensure you have root or sudo access to all servers.
  • Network Configuration: All nodes should be on the same local network.

Installation

Step 1: Update Your System

Start by updating your system packages to the latest version. This ensures you have the latest security patches and dependencies.

For Ubuntu/Debian:

sudo apt update
sudo apt upgrade -y

For CentOS:

sudo yum update -y

Step 2: Install Dependencies

Install the necessary dependencies for MariaDB and Galera. On Ubuntu/Debian systems, you may need:

sudo apt install software-properties-common
sudo add-apt-repository ppa:mariadb/server
sudo apt update

On CentOS, you can use:

sudo yum install epel-release

Step 3: Install MariaDB and Galera

For Ubuntu/Debian:

sudo apt install mariadb-server galera-4 -y

For CentOS, installation steps might vary slightly but are essentially similar.

Step 4: Configure the Cluster

Edit the MariaDB configuration file /etc/mysql/my.cnf or /etc/my.cnf, adding the following settings:

[mysqld]
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
wsrep_on=ON
wsrep_cluster_name="my_cluster"
wsrep_cluster_state="join"
wsrep_node_address="IP_ADDRESS_OF_THIS_NODE"
wsrep_node_name="node1"  # Change for each node (node2, node3, etc.)
wsrep_sst_method=rsync

Replace IP_ADDRESS_OF_THIS_NODE and set a unique node name for each server.

Step 5: Start MariaDB on Each Node

On each server in the cluster, initiate the startup process. To start MariaDB, use:

sudo systemctl start mariadb

Verify that MariaDB is up and running:

sudo systemctl status mariadb

Step 6: Bootstrap the First Node

On the first node that you configured, you need to bootstrap the cluster:

sudo galera_new_cluster

This command initializes the cluster. Ensure the first node has started successfully before proceeding to the other nodes.

Step 7: Join Additional Nodes

On subsequent nodes, start the MariaDB service normally:

sudo systemctl start mariadb

Check the join status using:

SHOW STATUS LIKE 'wsrep_cluster_size';

This should reflect the total number of nodes in the cluster.

Verification and Testing

To ensure that the cluster is correctly set up, you can perform the following checks:

  1. Node Status: Use the command SHOW STATUS LIKE 'wsrep_%'; in the MariaDB shell to verify the nodes and their states.
  2. Data Replication: Insert a record into the database on one node and check its presence on the others to confirm replication is active.

Maintenance and Monitoring

Regular maintenance and monitoring of your MariaDB Cluster are crucial. Consider using tools like Galera Manager or other monitoring solutions to keep tabs on cluster health. Establish backups using mysqldump or other backup strategies suited for clustered environments.

Conclusion

Deploying a MariaDB Cluster on Linux not only optimizes database performance but also provides the resilience your applications need for continuous availability. With the methods outlined above, you can achieve a scalable and efficient system capable of handling your organization’s data needs. As you implement this structure, remember that ongoing monitoring and adjustments are key to maintaining optimal performance.

VirtVPS