三台 CentOS7.5 系统的云主机,分别命令为 node1、node2、node3,(使用提供的 mariadb-repo.tar.gz 软件包在http 服务下),在这三个节点上安装数据库服务,数据库密码设置为 123456。将这三个节点配置为数据库高可用集群即 MariaDB_Galera_Cluster,配置完高可用服务后,安装 haproxy 负载均衡服务。配置node1 节点为负载均衡的窗口,配置负载均衡为轮询算法;HA 服务监听的端口为node1 节点的 3307 端口;配置访问三个节点的权重依次为 1,2,4。
【node1/2/3】
yum install -y mariadb-server
vim /etc/my.cnf.d/server.cnf
[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/lib64/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://172.16.21.5,172.16.100.6,172.16.21.23
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
#
# Allow server to accept connections on all interfaces.
#
bind-address=0.0.0.0
启动服务
systemctl start mariadb
【node1/2/3】
mysql -uroot -p123456 -e "grant all privileges on *.* to root@'%' identified by '123456';"
systemctl stop mariadb
【node1】
/bin/galera_new_cluster
【node2/3】
systemctl start mariadb
然后都查看一下
ss -lnt //查看端口4567是否运行
查看数据的状态是否返回NO
mysql -uroot -p123456 -e "show status like 'wsrep_ready';"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wsrep_ready | ON |
+---------------+-------+
查看集群数
mysql -uroot -p123456 -e "show status like 'wsrep_cluster_size';"
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 3 |
+--------------------+-------+
安装 haproxy 负载均衡服务
【node1】
yum install -y haproxy//配置文件底部添加vim /etc/haproxy/haproxy.cfg
listen stats
bind 172.16.21.5:9000
stats enable
stats uri /stats
listen mariadb
mode tcp
bind 172.16.21.5:3307
server node1 172.16.21.5:3306 weight 1
server node2 172.16.21.6:3306 weight 2
server node3 172.16.21.23:3306 weight 4
设置开机自启并启动服务
stemctl enable haproxy
systemctl start haproxyss
ss -lnt //查看端口3307是否运行
galera集群启动异常问题https://www.moexy.cn/archives/58.html