天天看点

数据库PXC集群部署

一、PXC的特点

**高可用集群解决方案

**由两部分组成Percona Server with XtraDB和 Write Set Replication patches

**数据强一致性,无同步延迟(不管是同步或是半同步,都存在一定的延迟。强一致性解释:假设有三台服务器,其中一台不能执行命令,则返回客户端无法执行)

**没有主从切换操作,无需使用虚拟IP

**支持InnoDB存储引擎

**多线程复制

**部署使用简单

支持节点自动加入,无需手动拷贝数据

二、相应端口

数据库PXC集群部署

三、主机角色

数据库PXC集群部署

四、部署pxc流程

1.准备环境(三台主机互ping无误)

2.安装软件包(三台都装),注意安装顺序

]# rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm //安装依赖

]# yum -y install percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm

]# rpm -ivh qpress-1.1-14.11.x86_64.rpm //安装依赖

]# tar -xvf Percona-XtraDB-Cluster-5.7.25-31.35-r463-el7-x86_64-bundle.tar

]# yum -y install Percona-XtraDB-Cluster-*.rpm

3.配置服务

①修改mysqld.cnf文件(3台)

[[email protected] ~]# vim /etc/percona-xtradb-cluster.conf.d/mysqld.cnf

[mysqld]

server-id=71/72/73 //server-id 不允许重复

datadir=/var/lib/mysql //数据库目录

socket=/var/lib/mysql/mysql.sock //socket文件

log-error=/var/log/mysqld.log //日志文件

pid-file=/var/run/mysqld/mysqld.pid //pid文件

log-bin //启用binlog日志

log_slave_updates //启用链式复制

expire_logs_days=7 //日志文件保留天数

:wq

②修改mysqld_safe.cnf文件(默认即可)

③修改wsrep.cnf文件(3台)

[[email protected] ~]# vim /etc/percona-xtradb-cluster.conf.d/wsrep.cnf

wsrep_cluster_address=gcomm://192.168.4.71,192.168.4.72,192.168.4.73//成员列表

wsrep_node_address=192.168.4.71 //本机ip(三台)

wsrep_cluster_name=pxc-cluster //集群名

wsrep_node_name=pxcnode71 //本机主机名(三台)

wsrep_sst_auth=“sstuser:123qqq…A” //SST数据同步授权用户及密码

:wq

④启动集群

1)启动集群服务

注意:在1台服务器上执即可(192.168.4.71),首次启动服务时间比较长

[[email protected] ~]# ]# systemctl start [email protected] //启动集群服务

[[email protected] ~]# grep pass /var/log/mysqld.log //查看数据库管理员初始登录密码

2019-06-20T12:29:42.489377Z 1 [Note] A temporary password is generated for [email protected]: W.HiOb8(ok)_

[[email protected] ~]#mysql –uroot –p’ W.HiOb8(ok)_’ //使用初始密码登录

Mysql> alter user [email protected]”localhost” identified by “123456”;//修改登录密码

MySQL> exit;

[[email protected] ~]#mysql –uroot –p123456 //使用修改后的密码登录

Mysql> garnt reload, lock tables,replication client,process on . to

[email protected]"localhost” identified by “123qqq…A”; //添加授权用户

2)启动数据库服务

启动主机pxcnode72的数据库服务,会自动同步pxcnode71主机的root初始密码和授权用户sstuser

[[email protected] ~]# systemctl start mysql //启动数据库服务

[[email protected] ~]#

[[email protected] ~]# netstat -utnlp | grep :3306

tcp6 0 0 :::3306 ::😗 LISTEN 12794/mysqld

[[email protected] ~]# netstat -utnlp | grep :4567

tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN 12794/mysqld

[[email protected] ~]#

3)启动主机pxcnode73的数据库服务,会自动同步pxcnode71主机的root初始密码和授权用户sstuser

[[email protected] ~]# systemctl start mysql //启动数据库服务

[[email protected] ~]#

[[email protected] ~]# netstat -utnlp | grep :3306

tcp6 0 0 :::3306 ::😗 LISTEN 12794/mysqld

[[email protected] ~]# netstat -utnlp | grep :4567

tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN 12794/mysqld

[[email protected] ~]#