MySQL PXC(Percona XtraDB Cluster)环境搭建记录

MySQL PXC(Percona XtraDB Cluster)环境搭建记录

2018年06月07日 17:13:08 偏居一方的梦想 阅读数 564
 

MySQL PXC环境搭建记录

因为最近项目的须要,要给客户搭建一个高可用环境,其中涉及了数据库的高可用,最终使用了PXC+LVS的方案,因此在此记录一下PXC的搭建。node

首先简单介绍一下PXC,percona官网地址:https://www.percona.com/,官网介绍以下:
这里写图片描述
Percona XtraDB Cluster(PXC)是MySQL集群的一种高可用性和高伸缩性的开源解决方案。mysql

PXC会使用大概是4个端口号
- 3306 数据库对外服务的端口号
- 4444 请求SST SST: 指数据一个镜象传输 xtrabackup , rsync ,mysqldump
- 4567 : 组成员之间进行沟通的一个端口号
- 4568 : 传输IST用的。相对于SST来讲的一个增量sql


 

 


环境介绍

本文档涉及的ip等信息都是虚假的。数据库

IP 操做系统
172.13.13.1 CentOS7+
172.13.13.2 CentOS7+
172.13.13.3 CentOS7+

开始

一、准备相关文件

首先去percona官网下载相关文件,从https://www.percona.com/downloads/Percona-XtraDB-Cluster-LATEST/,选择对应的操做系统及版本,选择下载tar,里面有所有的文件。
这里写图片描述
https://www.percona.com/downloads/XtraBackup/LATEST/,下载XtraBackup的rpm文件,不须要下载tar,debuginfo和test不是必需的。bootstrap

二、修改hostname

修改hostname,以下所示:
这里写图片描述
修改hosts文件,三台机器都修改以下所示:
这里写图片描述socket

三、安装PXC

首先安装依赖的一些软件等。
yum install socat
yum install libev
ide

将下载的PXC的tar和XtraBackup的rpm文件,移到/usr/local/pxc/下(自定义的一个文件夹),而后解压tar到当前文件夹。
这里写图片描述spa

首先安装依赖,shared和shared-compat两个rpm包;
再安装xtrabackup,此时会提示依赖perl或DBD_MySQL等,执行下面命令:
yum install percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm
,来安装全部依赖(若是经过yum install perl-DBD-MySQL,安装获得的mysql会依赖maraidb_libs,而pxc的server安装时会提示须要卸载mariadb_libs),安装完以后再执行rpm -ivh percona-xtrabackup-24-2.4.11-1.el7.x86_64.rpm ;
接着安装devel等。也能够执行rpm -ivh percona-XtraDB*命令,来自动安装。操作系统

自动安装中可能会出错,提示依赖qpress。执行yum install qpress,若是提示无可用安装时,修改rpm源,
rpm -Uvh https://www.percona.com/downloads/percona-release/redhat/latest/percona-release-0.1-4.noarch.rpm,而后再执行install。.net

安装完成以后,PXC会在/etc下生成percona-xtradb-cluster.conf.d/目录,该目录下有三个配置文件,其中wsrep.cnf是集群信息的配置文件。

因为想要让PXC的文件、日志、数据等信息,生成到指定的地址,因此在安装server、client以及57-5.7以前,先本身建立了/etc下的my.cnf文件,里面定义了PXC相关的配置,PXC部份内容以下:

\### MySQL 相关部分配置
[mysqld]
log-error=/var/log/mysqld.log
\## General
user                      = mysql
port                      = 3306
socket                    = /usr/local/pxc_data/sock/mysql.sock 
pid-file                  = /usr/local/pxc_data/run/mysqld.pid
basedir                   = /usr
datadir                   = /usr/local/pxc_data/datafile
tmpdir                    = /usr/local/pxc_data/tempfile
slave_load_tmpdir         = /usr/local/pxc_data/tempfile

 

### Percona XtraDB Cluster 官方配置 begin  

wsrep_provider = /usr/lib64/galera3/libgalera_smm.so  

wsrep_cluster_name = pxc-cluster  #pxc集群名称 

wsrep_cluster_address = gcomm://172.13.13.1,172.13.13.2,172.13.13.3  #集群的三个节点的ip 

wsrep_node_name = pxc_node1     #hostname 

wsrep_node_address = 172.13.13.1   #本机ip 

wsrep_sst_method = xtrabackup-v2   #数据同步方式 

wsrep_sst_auth = sstuser:sstpassword  #同步时的用户及密码 

wsrep_provider_options=”gcache.size=8G;” 

pxc_strict_mode = enforcing  

binlog_format = ROW  

default_storage_engine = InnoDB  

innodb_autoinc_lock_mode = 2

 

而后在相应的位置建立文件夹,例如本次是生成在/usr/local/pxc_data/下,分别建立以下文件夹:
mkdir /usr/local/pxc_data/{relaylog,genaral,slowlog,logs,binlog,tempfile,datafile} -p
建立完成以后,须要将权限用户组修改一下,否则PXC启动的时候会报错,启动失败。
chown mysql.mysql -R *

四、启动PXC

三个节点如上配置完毕(注意my.conf中pxc的相关修改),准备启动PXC集群,首先启动主节点。
在172.13.13.1上执行systemctl start mysql@bootstrap.service,若是提示没有bootstrap这种启动方式,那么就是没有安装gardb这个rpm包,则执行rpm -ivh Percona-XtraDB-Cluster-garbd-57-5.7.21-29.26.1.el7.x86_64.rpm,安装完成以后,从新启动。

当启动成功以后,要想经过命令行进入数据库,须要获得数据库的root帐号的默认密码,经过日志文件来获得(grep pass 3306-error.log)。
而后链接数据库:
mysql -u root -p 'XXXXX'
若是出现sock文件之类的问题,那么须要指定sock文件,即:
mysql -u root -p 'XXXXX' -S "sock文件地址"
登入成功以后,首先根据提示修改root密码,否则没法进行其余操做。
修改完成以后,新增一个sstuser用户(这个用户是pxc配置中的那个,用来三个节点之间数据同步),并受权。
GRANT RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstusrr'@'localhost' identified by "sstpassword";

添加并受权成功以后,在172.13.13.2/172.13.13.3上执行systemctl start mysql@service

若是有错则根据提示查看相关日志肯定问题。
三个节点启动完成以后,登入mysql执行 show status like 'wsrep%';能够查看pxc的一些信息。

五、其余

出现
[ERROR] WSREP: wsrep_load(): dlopen(): /usr/lib64/galera3/libgalera_smm.so: symbol SSL_COMP_free_compression_methods, version libssl.so.10 not defined in file libssl.so.10 with link time reference
,是由于openssl版本低,执行yum update openssl便可。

相关文章
相关标签/搜索