galera集群

galera简介

  • galera集群又叫多主集群,用于数据库的同步,保证数据安全
  • 最少3台,最好是奇数台数,当一台机器宕掉时,因为仲裁机制,这台机器就会被踢出集群。
  • 通过wsrep协议监控其它节点状态
  • 实时同步,当一个事务在一台机器提交,所有机器同时提交。效率低,但是安全性高

galera集群搭建

准备

三台机器:

192.168.132.120

192.168.132.131

192.168.132.134

防火墙为开启状态,添加防火墙端口

setenforce 0
firewall-cmd --add-port=3306/tcp
firewall-cmd --add-port=4567/tcp
firewall-cmd --add-port=4444/tcp

配置

第一步:编辑配置文件

vim /etc/my.cnf.d/server.cnf
[galera]
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so    #库文件
wsrep_cluster_address="gcomm://192.168.132.120,192.168.132.131,192.168.132.134"
binlog_format=row        #二进制日志指定为行模式,精确

第二步:初始化

其中1个节点执行,关机重启不需要再初始化,初始化一次就行。

mysqld_safe --wsrep_cluster_address=gcomm://192.168.132.120,192.168.132.131,192.168.132.134        #等待大约一分钟

第三步:启动数据库

执行初始化的节点:
systemctl stop mariadb galera_new_cluster 其它节点: systemctl restart mariadb

如果数据库启动失败,

vim /var/lib/mysql/grastate.dat

查看UUID是否是集群的UUID,如果不是需要手动修改为集群的UUID之后在启动

集群的UUID从执行初始化的节点查看

第四步:查看状态

show status like '%wsrep%';

关键参数:

wsrep_cluster_size | 3 | ##集群成员

wsrep_cluster_status | Primary | ##主服务器

wsrep_connected | ON | ##当前是否连接中

wsrep_incoming_addresses | 192.168.132.120:3306,192.168.132.131:3306,192.168.132.134:3306 | ##连接中的数据

wsrep_ready | ON | ##插件是否应用中

wsrep_cluster_state_uuid | b8ecf355-233a-11e8-825e-bb38179b0eb4 | ##UUID 集群唯一标记,每个节点UUID相同

| wsrep_received | 35 | ##数据复制接收次数

注意

如果启动集群出错可参考以下方案

哪个节点最后关闭,就在哪个节点执行galera_new_cluster,其余节点systemctl start mariadb

可以查看/var/lib/mysql/grastate.dat文件的safe_to_bootstrap: 1参数,如果为1代表此节点最后关闭

 

 

 

版权声明:本文为qianjisan66原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/qianjisan66/p/11586673.html