概述
MariaDB Galera Cluster是一种多主同步集群,目前只支持linux系统,以及XtraDB/InnoDB 存储引擎。
2. 功能
1)同步复制
2)多主服务器的拓扑结构
3)任意节点读写
4)自动控制成员、删除故障节点
5)自动加入节点
6)真正的行级别复制
3. 优势
1)不存在从服务器角色
2)不会丢失事物
3)可以读写同时扩展
4)更小的延迟
4. 安装
1)环境
CentOS7.1,三个物理节点
2)galera源码下载
galera
http://releases.galeracluster.com/source/galera-3-25.3.12.tar.gz
3)安装依赖库
[mariadb@node01]$ yum install -y boost-devel.x86_64 libodb-boost-devel.x86_64 bzr scons
4)编译galera源码
[mariadb@node01 galera-23.2.7-src]$ scons
5)安装galera库
[mariadb@node01 galera-23.2.7-src]$ cp libgalera_smm.so /usr/lib64/galera/
5. my.cnf配置
1) node01
[galera]
#Mandatory settings
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
# specify all nodes in cluster
#wsrep_cluster_address="gcomm://10.45.25.103,
10.45.25.104,10.45.25.105"
wsrep_cluster_address="gcomm://"
# uncomment all
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# add follows
# cluster name
wsrep_cluster_name="MariaDB_Cluster"
# own IP address
wsrep_node_address="10.45.25.103"
# replication provider
wsrep_sst_method=rsync
wsrep_sst_auth="sst_user:dbpass"
2) node02
[galera]
#Mandatory settings
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
# specify all nodes in cluster
wsrep_cluster_address="gcomm://10.45.25.103,
10.45.25.104,10.45.25.105"
#wsrep_cluster_address="gcomm://"
# uncomment all
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# add follows
# cluster name
wsrep_cluster_name="MariaDB_Cluster"
# own IP address
wsrep_node_address="10.45.25.104"
# replication provider
wsrep_sst_method=rsync
wsrep_sst_auth="sst_user:dbpass"
3) node03
[galera]
#Mandatory settings
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
# specify all nodes in cluster
wsrep_cluster_address="gcomm://10.45.25.103,
10.45.25.104,10.45.25.105"
#wsrep_cluster_address="gcomm://"
# uncomment all
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
# add follows
# cluster name
wsrep_cluster_name="MariaDB_Cluster"
# own IP address
wsrep_node_address="10.45.25.105"
# replication provider
wsrep_sst_method=rsync
wsrep_sst_auth="sst_user:dbpass"
6. 集群验证
1)启动mariadb
node1,node2,node3
[mariadb@node01 ~]$ service mysql start
2)连接mysql
[mariadb@node01 ~]$ mysql
3)查看galera是否启动
MariaDB [(none)]> show status like 'wsrep_ready';
ON说明galera插件已经启动
4) 查看集群状态
MariaDB [(none)]> show status like 'wsrep_incoming_addresses';
目前的集群节点
7. 完