Galera Cluster是一个基于同步复制的多主MySQL集群解决方案,提供高可用性、数据一致性和读写扩展能力。相比传统主从架构,其多主特性允许所有节点同时处理写操作。
# Ubuntu/Debian
apt-get install galera-3 mysql-wsrep
# CentOS/RHEL
yum install galera-3 mariadb-server-galera
在所有节点的my.cnf中添加配置:
[mysqld]
binlog_format=ROW
default-storage-engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# Galera配置
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_name="my_galera_cluster"
wsrep_cluster_address="gcomm://node1_ip,node2_ip,node3_ip"
wsrep_node_name="node1" # 每个节点名称不同
wsrep_node_address="current_node_ip"
wsrep_sst_method=rsync
第一个节点启动:
galera_new_cluster
其他节点正常启动MySQL服务即可加入集群
现象:多节点同时插入相同主键值
解决方案:
现象:节点间数据出现差异
解决方案:
现象:网络分区导致集群分裂
解决方案:
关键监控指标: