在Ubuntu上搭建MariaDB集群可以通过多种方式实现,其中最常见的是使用MariaDB Galera Cluster。以下是使用MariaDB Galera Cluster在Ubuntu上设置高可用性MariaDB集群的详细步骤:
前提条件Ubuntu版本:确保你使用的是Ubuntu 16.04或更高版本。MariaDB版本:确保你使用的是MariaDB 10.1或更高版本。步骤安装MariaDB
在所有节点上安装MariaDB:
sudo apt updatesudo apt install mariadb-server mariadb-client
配置MariaDB
在每个节点上进行配置。编辑 /etc/mysql/mariadb.conf.d/50-server.cnf
文件:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
在 [mysqld]
部分添加以下配置(注意替换为实际的节点IP地址):
[mysqld]bind-address = 0.0.0.0wsrep_provider = /usr/lib/galera/libgalera_smm.sowsrep_cluster_address = gcomm://node1_ip,node2_ip,node3_ipwsrep_node_address = node_ipwsrep_node_name = node_namewsrep_sst_method = xtrabackup-v2wsrep_sst_auth = your_sst_user:your_sst_password
重启MariaDB服务:
sudo systemctl restart mariadb
初始化集群
在第一个节点上初始化集群:
sudo mysql -u root -p
在MySQL shell中执行以下命令:
CREATE USER 'sst_user'@'%' IDENTIFIED BY 'your_sst_password';GRANT ALL PRIVILEGES ON *.* TO 'sst_user'@'%';FLUSH PRIVILEGES;EXIT;
然后,在第一个节点上运行:
sudo mysql -u root -p -e "SET GLOBAL wsrep_cluster_size = 3;"
加入其他节点
在其他节点上运行以下命令来加入集群:
sudo mysql -u root -p -e "SET GLOBAL wsrep_cluster_address='gcomm://node1_ip,node2_ip,node3_ip';"
验证集群状态
在任意节点上运行以下命令来验证集群状态:
sudo mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size';"
如果输出显示 wsrep_cluster_size = 3
,则表示集群已成功初始化。
通过以上步骤,你可以在Ubuntu上成功设置一个MariaDB Galera Cluster,实现高可用性和数据冗余。