Galera Cluster5.7 (CentOs7) 集群搭建

Posted lfh9527

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Galera Cluster5.7 (CentOs7) 集群搭建相关的知识,希望对你有一定的参考价值。

安装环境

  centOs7

  Galera Cluster5.7(mysql5.7)

下载galeracluster

  下载地址http://galeracluster.com/downloads/

 

  安装前需卸载原有mysql,删除相关文件夹

  卸载Postfix,这个可能跟MySQL配置有冲突: yum remove postfix –y

  安装需要外网环境

使用 (yum install -y 包名)命令进行安装

  安装顺序:

    1 mysql-wsrep-libs-compat-5.7-5.7.23-25.15.el7.x86_64.rpm

    2 mysql-wsrep-common-5.7-5.7.23-25.15.el7.x86_64.rpm

    3 mysql-wsrep-libs-5.7-5.7.23-25.15.el7.x86_64.rpm

    4 mysql-wsrep-devel-5.7-5.7.23-25.15.el7.x86_64.rpm

    5 mysql-wsrep-client-5.7-5.7.23-25.15.el7.x86_64.rpm

    6 mysql-wsrep-server-5.7-5.7.23-25.15.el7.x86_64.rpm

    7 mysql-wsrep-5.7-5.7.23-25.15.el7.x86_64.rpm

    8 mysql-wsrep-test-5.7-5.7.23-25.15.el7.x86_64.rpm(该包在安装时会提示没有     mysql-wsrep-server依赖,使用rpm 加上--nodeps参数安装

    9galera-3-25.3.24-2.el7.x86_64

安装完成后mysql 首次启动

  1) 使用命令:mysqld --initialize  初始化mysql

  2) 查看默认密码: grep ‘temporary password‘ /var/log/mysqld.log (路径my.cnf 配置的log_error 路径)

  3) 重设root账户密码:SET PASSWORD=PASSWORD("Liufahui1@");mysql5.7 认密码等级比较高,修改密码的时候需要至少8包含数字,大小写和特殊字符

  4) 开放远程登录授权

    给对应需要访问MySQL的用户名和密码进行授权,如果没有授权,是无法远程连接MySQL

      授权无端口限制的用户登录mysql数据库(生产上开放端口)

      GRANT ALL PRIVILEGES ON *.* TO ‘用户名‘@‘%‘ IDENTIFIED BY ‘密码‘ WITH GRANT OPTION;

    FLUSH PRIVILEGES;

  5) 去掉Postfix,这个可能跟MySQL配置有冲突: yum remove postfix -y

  6) 关闭防火墙(生产开放端口)

    setenforce 0 && systemctl stop firewalld

  7) 关闭mysql服务:service mysqld stop  (注意mysql5.7mysqld

修改配置文件:

 

  1) 修改my.cnf

 

    vim /etc/my.cnf,增加:!includedir /etc/my.cnf.d/

 

  2) 修改wsrep.cnf

 

    vi  /etc/my.cnf.d/wsrep.cnf

[mysqld]
server-id=145 #每个节点一个唯一的ID
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
innodb_locks_unsafe_for_binlog=1
query_cache_size=0
query_cache_type=0
bind-address=0.0.0.0
wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_provider_options=‘gmcast.listen_addr=tcp://192.168.79.145:4567‘ #修改为本节点地址
wsrep_cluster_name="my_wsrep_cluster" #集群名称,所有节点配置为同一个
wsrep_cluster_address=gcomm://192.168.79.145:4567,192.168.79.146:4567,192.168.79.147:4567 #节点中所有节点地址
wsrep_node_name=node1 #node名称,每个节点名称唯一
wsrep_node_address=‘192.168.79.145‘ #本节点地址
wsrep_node_incoming_address=‘192.168.79.145‘ #本节点地址
wsrep_slave_threads=1
wsrep_certify_nonPK=1
wsrep_max_ws_rows=131072
wsrep_max_ws_size=1073741824
wsrep_debug=0
wsrep_convert_LOCK_to_trx=0
wsrep_retry_autocommit=1
wsrep_auto_increment_control=1
wsrep_drupal_282555_workaround=0
wsrep_causal_reads=0
wsrep_notify_cmd=
wsrep_sst_method=rsync
wsrep_sst_auth=root:[email protected] #数据量库用户名密码
wsrep_sst_donor=‘node1,node2,node3,‘ #节点中所有节点的node名称

 

启动集群:

 

  1)  集群第一个节点启动

 

    wsrep.cnf 配置中的 wsrep_cluster_address 需要如此配置 wsrep_cluster_address=gcomm:// ,以后再启动的话需要配置完整。

 

    使用 /usr/bin/mysqld_bootstrap 命令启动

 

    启动成功后将wsrep_cluster_address=gcomm://补充完整。

 

 

 

  2)  其他节点启动

 

    修改好my.cnfwsrep.cnf参数后直接启动mysql即可。

 

 

 

  注意:/usr/bin/mysqld_bootstrap 命令只在集群第一个节点启动时使用,因为这个脚本中带有一个参数:--wsrep-new-cluster,代表新集群

集群重启:

在集群停止之后重启时,先在每个几点上使用mysqld_safe --wsrep-recover查看节点的Recovered position的值,选择值最大的一个作为第一个几点启动,如果启动失败,则在将作为第一个启动节点的服务器上编辑grastate.dat文件(可以使用find命令查找位置),将safe_to_bootstrap的值设为1,使用/usr/bin/mysqld_bootstrap命令启动该节点,其他节点启动与以前一致。

 






























以上是关于Galera Cluster5.7 (CentOs7) 集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

Mariadb10 Galera 实验小结

Centos7安装mariadb galera cluster数据库集群 & 详解

在CentOS7上配置MariaDB-Galera-Cluster过程全记录

CentOS 6.4安装配置MairaDB 10.3 Galera Cluster

43 MySQL复制及Galera ClusterMHA

Centos7 mariadb-galera-cluster-5.5+HAProxy+keepalived