使用Galera Cluster需要下载包含wsrep补丁的mysql版本;
官网下载地址:http://galeracluster.com/downloads/
安装前要卸载之前安装的mariadb或者mysql;或者迁移也可以,不过就是另一套操作了!
具体的安装过程官网描述的很完整,就不赘述了!
http://galeracluster.com/documentation-webpages/installmariadb.html#enabling-the-yum-repository
https://downloads.mariadb.org/mariadb/repositories/#mirror=shanghai-university
配置文件:
[galera]
# Mandatory settings
wsrep_provider=
指定galera的插件
wsrep_cluster_name="my_wsrep_cluster"
指定集群的名字
wsrep_node_name=
指定当前节点名称,一般同主机名
wsrep_node_address=
指定当前节点的地址
wsrep_cluster_address=
指定集群包含的节点
binlog_format=row
指定二进制日志的格式
default_storage_engine=InnoDB
指定默认存储引擎
innodb_autoinc_lock_mode=2
锁格式
bind-address=0.0.0.0
指定wsrep的监听地址
# Optional setting
wsrep_slave_threads=1
innodb_flush_log_at_trx_commit=0
示例:(关闭防火墙和selinux且至少要三个节点)
1.安装
2.配置文件
如果是以二进制日志方式安装的则跟wsrep相关的配置文件位于mariadb-galera-5.5.46-linux-x86_64/support-files/wsrep.cnf(本示例所用的方式);如果是以rpm方式安装的则跟wsrep相关的配置文件位于/etc/my.cnf.d/server.cnf;
[galera]
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address=”gcomm://192.168.80.145,192.168.80.131,192.168.80.134”
binlog_format=row
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
bind_address=0.0.0.0
wsrep_cluster_name=’my_cluster’
3.初始化集群
其中一个节点需执行/etc/init.d/mysql start --wsrep-new-cluster
另外的节点直接启动mysql服务即可
Note:因为Galera Cluster在各个不同的节点上插入数据时,可以自动增长字段不会按顺序排列,比如ID号,所以一般都会借助ID生成器自己完成类似按序增长的需求;
4.停止mysql服务
正常停止即可:service mysql stop
5. 如果集群从来没有启动过(3个节点上都没有/var/lib/mysql/grastate.dat文件),则必要由其中一个节点以--wsrep-new-cluster参数启动,另外两个节点正常启动即可
如果集群以前启动过,则参考/var/lib/mysql/grastate.dat,找到safe_to_bootstrap为1的节点,在该节点上以--wsrep-new-cluster参数启动,另外两个节点正常启动即可
如果集群以前启动过,但参考/var/lib/mysql/grastate.dat,找不到safe_to_bootstrap为1的节点(一般是因为mariadb服务非正常停止造成),则在3个节点中随便找1个节点,将/var/lib/mysql/grastate.dat中的safe_to_bootstrap修改为1,再在该节点上以--wsrep-new-cluster参数启动,另外两个节点正常启动即可
借鉴文章:https://cloud.tencent.com/developer/article/1120419
Note:根据马哥视频做的学习笔记,如有错误,欢迎指正;侵删
来源:oschina
链接:https://my.oschina.net/u/4382408/blog/3490479