环境部署:四台centos7服务器;

功能介绍:

 Galera 是MySQL的同步多主集群软件;
 同步复制,所有节点可以同时读写数据库,自动成员资格控制,失败节点从集群中删除,新加入的节点数据自动复制;
 架构主要包含三个组件,WSREP插件、Galera库、MySQL服务器。

一、环境设置

 防火墙
 selinux
 修改主机名——并解析
 ssh-keygen免密互信
 配置yum源
 时间同步

1、同步时区:时间同步: 修改时区:

 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 ​
 timedatectl set-timezone Asia/Shanghai

2、准备时间服务器:

 #vim /etc/ntp.conf
 server 127.127.1.0 # local clock
 fudge 127.127.1.0 stratum 10
 ​
 #systemctl restart ntpd

3、客户端同步时间:

 [root@galera2 ~]# ntpdate galera1

二、软件获取

1、环境清理
 [root@localhost ~]# yum -y erase `rpm -qa | grep mysql`
 [root@localhost ~]# rm -rf /var/lib/mysql && rm -rf /var/log/mysqld.log && rm -rf /etc/my.cnf
2、软件获取

第一种,官方下载路径已经做好yum源的路径,挑选合适的版本直接修改yum配置文件使用yum安装;

官网路径:http://releases.galeracluster.com/

 [root@localhost ~]# vim /etc/yum.repos.d/galera.repo
 [galera]
 name=galera
 baseurl=http://releases.galeracluster.com/mysql-wsrep-5.7/centos/7/x86_64/
 enable=1
 nogpgcheck=0 
 [root@localhost ~]#  yum install mysql-wsrep-5.7.x86_64 galera rsync -y
 [root@localhost ~]# yum install -y \
 mysql-wsrep-libs-compat-5.7-5.7.29-25.21.el7.x86_64.rpm \
 mysql-wsrep-common-5.7-5.7.29-25.21.el7.x86_64.rpm \
 mysql-wsrep-libs-5.7-5.7.29-25.21.el7.x86_64.rpm \
 mysql-wsrep-client-5.7-5.7.29-25.21.el7.x86_64.rpm \
 mysql-wsrep-server-5.7-5.7.29-25.21.el7.x86_64.rpm \
 mysql-wsrep-devel-5.7-5.7.29-25.21.el7.x86_64.rpm \
 galera-25.3.12-2.el7.x86_64.rpm \
 boost-program-options-1.53.0-27.el7.x86_64.rpm \
 nmap-ncat-6.40-19.el7.x86_64.rpm
 #关注重点 时区、rsync;

第二种安装方式就是用现成的rpm包安装,如果有的话可以用,更快速

3、MySQL部署
 [root@localhost ~]#  systenmctl start mysqld
 [root@localhost ~]# mysqladmin -uroot -p'$(awk '/A temporary password/{p=$NF}END{print p}' /var/log/mysqld.log)' password "password" #修改MySQL root用户密码
 [root@localhost ~]# mysql -p1 #登陆mysql
 mysql> grant all on *.* to 'syncuser'@'%' identified by "password";
 mysql> flush privileges;

 #每台数据库都需授权用于授权数据同步的用户
4、配置Galera
 [root@localhost ~]#  vim /etc/my.cnf
 server-id=1 #唯一的server_id
 binlog_format=row
 innodb_file_per_table=1
 innodb_autoinc_lock_mode=2
 ​
 wsrep_on=ON
 wsrep_provider=/usr/lib64/galera/libgalera_smm.so
 wsrep_cluster_name='galera'
 wsrep_cluster_address='gcomm://'
 wsrep_node_name='galera1' #主机名
 wsrep_node_address='本机ip'
 wsrep_sst_auth=syncuser:'passwd' #授权用户及密码
 wsrep_sst_method=rsync
 ​
 #wsrep_cluster_address='gcomm://' 需要注意的是这是galera1的配置;
 #wsrep_cluster_address='gcomm://galera1,galera3,galera4' 这是galera2的;剩下两台依次累计
 其他的主机也需要配置这些信息,对应着配置就可以
 [root@localhost ~]# systemctl restart mysqld #重启mysql
 #galera端口:4567 mysql端口:3306

5、四台服务器都这样做了之后,galera架构就做好了;

 mysql> show status likr 'wsrep%';   #查看集群状态