Mysql-Galera Cluster

[亡魂溺海] 提交于 2020-11-24 10:27:29


    使用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:根据马哥视频做的学习笔记,如有错误,欢迎指正;侵删

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!