mysql社区集群版安装_Galera cluster for MySQL 集群安装与配置

  • Post author:
  • Post category:mysql


安装galera,mysq-wsrep,xtrabackup

1.安装galera,mysq-wsrep

yum install libboost_program_options.so.1.53.0 boost-program-options lsof perl-Data-Dumper rsync -y

yum remove mysql-libs -y

wget http://releases.galeracluster.com/centos/7/x86_64/galera-3-25.3.19-2.el7.x86_64.rpm

wget http://releases.galeracluster.com/centos/7/x86_64/mysql-wsrep-5.6-5.6.34-25.18.el7.x86_64.rpm

wget http://releases.galeracluster.com/centos/7/x86_64/mysql-wsrep-client-5.6-5.6.34-25.18.el7.x86_64.rpm

wget http://releases.galeracluster.com/centos/7/x86_64/mysql-wsrep-devel-5.6-5.6.34-25.18.el7.x86_64.rpm

wget http://releases.galeracluster.com/centos/7/x86_64/mysql-wsrep-server-5.6-5.6.34-25.18.el7.x86_64.rpm

wget http://releases.galeracluster.com/centos/7/x86_64/mysql-wsrep-shared-5.6-5.6.34-25.18.el7.x86_64.rpm

wget http://releases.galeracluster.com/centos/7/x86_64/mysql-wsrep-test-5.6-5.6.34-25.18.el7.x86_64.rpm

rpm -ivh galera-3-25.3.19-2.el7.x86_64.rpm

rpm -ivh mysql-wsrep-server-5.6-5.6.34-25.18.el7.x86_64.rpm

rpm -ivh mysql-wsrep-client-5.6-5.6.34-25.18.el7.x86_64.rpm

rpm -ivh mysql-wsrep-5.6-5.6.34-25.18.el7.x86_64.rpm

rpm -ivh mysql-wsrep-devel-5.6-5.6.34-25.18.el7.x86_64.rpm

rpm -ivh mysql-wsrep-shared-5.6-5.6.34-25.18.el7.x86_64.rpm

rpm -ivh mysql-wsrep-test-5.6-5.6.34-25.18.el7.x86_64.rpm

2.安装xtrabackup

rpm -Uvh https://www.percona.com/redir/downloads/percona-release/redhat/percona-release-0.1-4.noarch.rpm

yum install percona-xtrabackup -y

xtrabackup –version

3.设置开机启动mysql

chkconfig mysql on

service mysql start

4.设置mysql的root密码,并做安全加固

/usr/bin/mysql_secure_installation

5.创建用于同步数据库的SST帐号

[root@galera-cluster-mysql-27 ~]# mysql -uroot -p

mysql> grant all privileges on *.* to sst@’%’ identified by ‘123456’;

mysql> flush privileges;

mysql> quit;

6.创建wsrep.cnf文件

cp /usr/share/doc/mysql-wsrep-server-5.6-5.6.34/wsrep.cnf /etc/my.cnf.d/

vim /etc/my.cnf.d/wsrep.cnf

只需要修改以下四行:

wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so

wsrep_cluster_name=”haotion_wsrep_cluster”

wsrep_cluster_address=”gcomm://”

wsrep_sst_method=xtrabackup

wsrep_sst_auth=sst:123456

注意:”gcomm://”是特殊的地址,仅仅是Galera cluster初始化启动时使用。如果集群启动以后,我们关闭了第一个节点,那么再次启动的时候必须先修改”gcomm://”为其他节点的集群地址,例如:wsrep_cluster_address=”gcomm://192.168.7.29″

7.在/usr/my.cnf中加入如下一行

vim /usr/my.cnf

!includedir /etc/my.cnf.d/

8.重启mysql服务

service mysql restart

配置Galera cluster for MySQL

在Galera Cluster中,新接入的节点叫Joiner,给joiner提供复制的节点叫Donor。

4ffbe26b5b0f2f435a50e8758d90f1f1.png

对于生产环境使用,建议设立一个专用的”参考节点”,这个”参考节点”不执行任何客户端的SQL请求。

87e78ff6077b5e6d6b5535d5d057b9fb.png

上图中红色的NODE A即为”参考节点”,这样做的好处有如下几条:

1.数据一致性:

因为”参考节点”本身不执行任何客户端SQL,所以在这个节点上发生transaction冲突的可能性最小。

因此如果发现集群有数据不一致的时候,”参考节点”上的数据应该是集群中最准确的。

2.数据安全性:

因为”参考节点”本身不执行任何客户端SQL,所以在这个节点上发生灾难事件的可能性最小。

因此当整个集群宕掉的时候,”参考节点”应该是恢复集群的最佳节点。

3.高可用:

“参考节点”可以作为专门state snapshot donor。

因为”参考节点”不服务于客户端,因此当使用此节点进行SST的时候,不会影响用户体验,并且前端的负载均衡设备也不需要重新配置。

构造如上图的结构,新节点的操作步骤如下:

按照上述1-8的步骤安装mysql和Galera library

除了第6步wsrep_cluster_address的配置稍有不同:wsrep_cluster_address=”gcomm://Node-[A-N]-IP”

配置Node A重新加入集群,修改/etc/my.cnf.d/wsrep.cnf中的wsrep_cluster_address地址指向Node N。wsrep_cluster_address=”gcomm://Node-N-IP:4567″

重启mysql服务

service mysql restart

查看集群心跳语句

mysql> show status like ‘wsrep%’;

注意(遇到的坑):集群启动失败解决方案

cd /var/lib/mysql

rm -f g*

echo ”>innobackup.backup.log



版权声明:本文为weixin_27945229原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。