Table of Contents
- 1 Use Cases : MariaDB Galera Cluster
- 2 Key Features and Benefits: MariaDB Galera Cluster
- 3 How to set up a MariaDB Galera Cluster using Docker
MariaDB Galera Cluster is a robust solution that combines the power of MariaDB, an open-source relational database management system, with Galera Cluster, a synchronous multi-master replication plugin.
MariaDB, a popular MySQL fork, offers a feature-enhanced and community-driven alternative to MySQL.
Galera Cluster, on the other hand, is a sophisticated replication technology that operates in a synchronous manner. It allows multiple database nodes to work together as a cluster, ensuring that all nodes have an identical copy of the database.
Use Cases : MariaDB Galera Cluster
Ensuring uninterrupted availability and consistent data across multiple locations.
Maintaining data integrity and eliminating single points of failure.
Providing fault tolerance and high performance for critical business operations.
Key Features and Benefits: MariaDB Galera Cluster
With MariaDB Galera Cluster, your database remains highly available even in the event of node failures. If one node becomes unreachable, the cluster automatically promotes another node as the new primary, ensuring continuous operation and minimal downtime.
Galera Cluster’s synchronous replication ensures that data consistency is maintained across all nodes in real time. Each transaction is applied uniformly to every node, preventing any data discrepancies or conflicts.
Scalability and Load Balancing
By distributing the workload across multiple nodes, MariaDB Galera Cluster allows you to scale your database system horizontally. As your application grows, you can add additional nodes to handle increased traffic, providing enhanced performance and improved response times. Load balancing is inherent to the cluster setup, enabling efficient resource utilization.
Automatic Data Distribution
When you write data to the cluster, it is automatically synchronized across all nodes. This means that read queries can be executed on any node, promoting load balancing and reducing the load on individual nodes.
How to set up a MariaDB Galera Cluster using Docker
you can follow these steps
If you haven’t already, install Docker on your system. Refer to
- How to install Docker on Ubuntu
- Install docker and learn containers on Centos
- Install Docker on Vagrant
Create a Docker network
Open a terminal and create a Docker network that will be used by the Galera cluster nodes:
Create Galera Cluster Containers
Create multiple Docker containers, each representing a node in the Galera cluster.
You can use the official MariaDB Galera Cluster Docker image or a custom image. For example, creating three nodes:
# docker run -d --name=node1 --network=galera_network -e MYSQL_ROOT_PASSWORD=my-secret-pw -e GALERA_CLUSTER=galera_cluster -e GALERA_NODE_NAME=node1 -e GALERA_NODE_ADDRESS=node1 mariadb:10.6 --wsrep-new-cluster
# docker run -d --name=node2 --network=galera_network -e MYSQL_ROOT_PASSWORD=my-secret-pw -e GALERA_CLUSTER=galera_cluster -e GALERA_NODE_NAME=node2 -e GALERA_NODE_ADDRESS=node2 mariadb:10.6
# docker run -d --name=node3 --network=galera_network -e MYSQL_ROOT_PASSWORD=my-secret-pw -e GALERA_CLUSTER=galera_cluster -e GALERA_NODE_NAME=node3 -e GALERA_NODE_ADDRESS=node3 mariadb:10.6
In the above commands, adjust the image version, container names, network, and other environment variables according to your requirements.
Verify Cluster Status
Check the cluster status by executing the following command in any of the cluster nodes:
docker exec -it node1 mysql -uroot -pmy-secret-pw -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
This command should display the number of nodes in the cluster
You now have a MariaDB Galera Cluster set up using Docker. You can connect to any of the nodes using the appropriate connection details (e.g., hostname, port, username, password) and start using the cluster.
I hope will this your helpful. Thank you for reading the DevopsRoles page!