美文网首页Java 核心技术MySQL数据库知识点
PXC 3节点集群基于二进制的搭建

PXC 3节点集群基于二进制的搭建

作者: 平常xin | 来源:发表于2018-01-07 23:13 被阅读141次

转载请务必保留超链接:原文链接

简介:

Percona XtraDB集群是MySQL的数据库集群解决方案。它确保高可用性,防止停机和数据丢失,并为不断增长的环境提供线性可扩展性。

Percona XtraDB Cluster(PXC)是基于Galera 协议的高可用方案, Galera是Codership提供的多主数据同步复制机制,可以实现多个节点间的数据同步复制以及读写,并且可保障数据库的服务高可用及数据一致性。

PXC的原理

PXC会使用大概是4个端口号:

3306 数据库对外服务的端口号

4444 SST全量传输,用于新增节点(类似xtrbackup物理备份后再恢复的过)

4567 组成员之间进行沟通的一个端口号

4568 传输IST用的;相对于SST来说的一个增量。

PXC集群提供的特如下:

1. 同步复制

2.多主复制

3.真正的并行复制

4.数据一致性

5.支持 ProxySQL

本次实验环境介绍:

1、查看系统防火墙是否已经关闭

systemctl status firewalld.service 

Active: inactive (dead)          //当前防火墙已经关闭

2、查看 selinux 是否已经关闭

cat /etc/selinux/config

SELINUX=disabled    //当前selinux已经关闭

3、安装软件依赖包

yum install –y perl-DBD-MySQL.x86_64 perl-IO-Socket-SSL.noarch socat.x86_64 nc

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

4、到官网 https://www.percona.com/downloads/XtraBackup/LATEST/ 下载Redhat7版本中percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm 到 /opt/mysql/ 目录下, PXC-5.7.19 需要  xtrabackup-2.4.4 or higher

rpm -ivh percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm

xtrabackup --version        //查看xtrabakup是否安装

5、下载 PXC二进制安装包 到 /opt/mysql/ 目录下

wget https://www.percona.com/downloads/Percona-XtraDB-Cluster-LATEST/Percona-XtraDB-Cluster-5.7.19-29.22-3/binary/tarball/Percona-XtraDB-Cluster-5.7.19-rel17-29.22.3.Linux.x86_64.ssl101.tar.gz

tar zxvf Percona-XtraDB-Cluster-5.7.19-rel17-29.22.3.Linux.x86_64.ssl101.tar.gz    //解压

mv Percona-XtraDB-Cluster-5.7.19-rel17-29.22.3.Linux.x86_64.ssl101 pxc-5.7.19  //重命名

6、在 /usr/local/ 目录下创建MySQL的软链并且给用户授权

ln -s /opt/mysql/pxc-5.7.19 mysql

chown -R mysql:mysql mysql

7、安装MySQL

创建用户和用户组

groupadd mysql

useradd -g mysql -d /usr/local/mysql -s /sbin/nologin -M mysql

cd /usr/local

chown -R mysql:mysql mysql

创建MySQL的基本目录

mkdir /data/mysql/mysql3306/{data,logs,tmp} -p

chown -R mysql:mysql /data/*

MySQL配置文件 my.cnf 添加 PXC 参数

default_storage_engine=Innodb

innodb_locks_unsafe_for_binlog=1

innodb_autoinc_lock_mode=2

wsrep_cluster_name=pxc_bin  #集群名称

wsrep_cluster_address=gcomm://192.168.1.28,192.168.1.29,192.168.1.30  # 集群节点的所有ip

wsrep_node_address=192.168.1.28    #当前节点的ip

wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so

wsrep_sst_method=xtrabackup-v2  #采用什么方式复制数据, 支持xtrabackup , rsync, mysqldump

wsrep_sst_auth=binbin:123456abc  #sst模式需要的用户名和密码

初始化

cd /usr/local/mysql

./bin/mysqld --defaults-file=/etc/my.cnf --initialize

添加MySQL环境变量

echo $PATH

echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile

source /ect/profile

启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

/etc/init.d/mysql start  启动报错,找不到 my_print_defaults, 如下图:

解决办法: vim /etc/init.d/mysql

把 basedir定义为: basedir=/usr/local/mysql/

把datadir定义为:datadir=/data/mysql/mysql3306/data/

获取密码:

grep  -i password /data/mysql/mysql3306/data/error.log

登录: mysql -S /tmp/mysql3306.sock -p

修改密码: alter user user() identified by '123456abc';

#创建全量写集传输用户

mysql@pxc1> CREATE USER 'binbin'@'localhost' IDENTIFIED BY '123456abc';

mysql@pxc1> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'binbin'@'localhost';

mysql@pxc1>  flush privileges;

PXC第一个节点的启动:

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --wsrep-new-cluster &

centos7 下不能使用 /etc/init.d/mysql bootstrap-pxc 启动,如下:

启动完毕的确认:

netstat -an|grep -E "3306|4444|4567|4568"  #检查端口是否被监听

/etc/init.d/mysql status        #查看状态

mysql>show global status like 'wsrep%';

|wsrep_local_state                                                | 4 |

| wsrep_local_state_comment        | Synced |

| wsrep_cluster_status                    | Primary  |

| wsrep_connected                          | ON  |

node2和node3节点的搭建这里就不描述了;

注:node2和node3节点的 MySQL 配置文件需要修改下面的这两个参数

server-id 的标识

wsrep_node_address 参数为Cluster集群节点的当前机器的IP地址

node2和node3节点的启动

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf &

netstat -an|grep -E "3306|4444|4567|4568"  #检查端口是否被监听

/etc/init.d/mysql status        #查看节点状态


最后: 在每个节点分别写入数据看看能不能同步, 如果同步,说明PXC环境已经搭建完成。

相关文章

网友评论

    本文标题:PXC 3节点集群基于二进制的搭建

    本文链接:https://www.haomeiwen.com/subject/psidnxtx.html