Galera_Cluster部署
环境部署:四台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%'; #查看集群状态
Comments 1 条评论
博主 ayuan