1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > mysql数据库—PXC集群

mysql数据库—PXC集群

时间:2022-05-16 17:58:54

相关推荐

mysql数据库—PXC集群

1、PXC介绍

Percona XtraDB Cluster(简称PXC)

是基于Galera的MySQL高可用集群解决方案

Galera Cluster是Codership公司开发的一套免费开源的高可用方案

PXC集群主要由两部分组成:

Percona Server with XtraDB和Write Set Replication patches(同步、多主复制插件)

官网

2、PXC特点

数据强一致性,无同步延迟

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

支持innoDB存储引擎

多线程复制

部署使用简单

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

3、相关的服务端口

3306 数据库服务端口

4444 SST 端口

4567 集群通信端口

4568 IST 端口

SST State Snapshot Transfer 全量同步

IST Incremental State Transfer 增量同步

4、PXC集群部署

4.1、环境准备

pxcnode10:192.168.4.10数据库服务器

pxcnode20:192.168.4.20数据库服务器

pxcnode30:192.168.4.30数据库服务器

链接:/s/1YA2Dd6O5f31j0cpJDoZEwQ

提取码:xbjy

三台服务器基本设置如下:

关闭防火墙、selinux

cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.4.10 pxcnode10

192.168.4.20 pxcnode20

192.168.4.30 pxcnode30

4.2、三台服务器按照以下顺序安装软件,因为软件之间有依赖性。(以10为例)

[root@pxcnode10 ~]# cd pxc[root@pxcnode10 pxc]# lslibev-4.15-1.el6.rf.x86_64.rpmpercona-release-0.1-4.noarch.rpmpercona-xtrabackup-24-2.4.13-1.el7.x86_64.rpmPercona-XtraDB-Cluster-5.7.25-31.35-r463-el7-x86_64-bundle.tarqpress-1.1-14.11.x86_64.rpm[root@pxcnode10 pxc]# rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm[root@pxcnode10 pxc]# yum -y install percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm [root@pxcnode10 pxc]# rpm -ivh qpress-1.1-14.11.x86_64.rpm [root@pxcnode10 pxc]# tar -xvf Percona-XtraDB-Cluster-5.7.25-31.35-r463-el7-x86_64-bundle.tar [root@pxcnode10 pxc]# yum -y install Percona-XtraDB-Cluster-*.rpm

2)修改三台服务器的f文件,除了server-id不一样,其他配置都一样

[root@pxcnode10 ~]# vim /etc/percona-xtradb-cluster.conf.d/f [mysqld]server-id=10# 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# 日志文件保留天数[root@pxcnode20 pxc]# vim /etc/percona-xtradb-cluster.conf.d/f [mysqld]server-id=20[root@pxcnode30 pxc]# vim /etc/percona-xtradb-cluster.conf.d/f [mysqld]server-id=30

3)修改三台服务器的f文件,使用默认配置即可。(以10为例)

[root@pxcnode10 ~]# vim /etc/percona-xtradb-cluster.conf.d/f [mysqld_safe]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/lib/mysql/mysql.socknice= 0

3)修改三台服务器的f文件,其中成员列表、集群名、SST用户和密码必须相同

[root@pxcnode10 ~]# vim /etc/percona-xtradb-cluster.conf.d/f 1 [mysqld]8 wsrep_cluster_address=gcomm://192.168.4.10,192.168.4.20,192.168.4.30 # 成员列表25 wsrep_node_address=192.168.4.10 # 本机IP27 wsrep_cluster_name=pxc-cluster# 集群名30 wsrep_node_name=pxcnode10# 本机主机名39 wsrep_sst_auth="jy:JY1987...zy"# SST数据同步授权用户及密码[root@pxcnode20 ~]# vim /etc/percona-xtradb-cluster.conf.d/f 1 [mysqld]8 wsrep_cluster_address=gcomm://192.168.4.10,192.168.4.20,192.168.4.3025 wsrep_node_address=192.168.4.2027 wsrep_cluster_name=pxc-cluster30 wsrep_node_name=pxcnode2039 wsrep_sst_auth="jy:JY1987...zy"[root@pxcnode30 ~]# vim /etc/percona-xtradb-cluster.conf.d/f 1 [mysqld]8 wsrep_cluster_address=gcomm://192.168.4.10,192.168.4.20,192.168.4.3025 wsrep_node_address=192.168.4.3027 wsrep_cluster_name=pxc-cluster30 wsrep_node_name=pxcnode3039 wsrep_sst_auth="jy:JY1987...zy"

4.3、初始化集群,在任意1台服务器上执行初始化集群操作都可以(仅需要执行一遍)

[root@pxcnode10 ~]# systemctl start mysql@bootstrap.service[root@pxcnode10 ~]# ls /var/lib/mysql # 检查数据库文件列表,有文件说明成功f client-key.pem ib_buffer_pool ibtmp1 mysql.sock.lockpxcnode10-bin.000001 server-key.pemca-key.pem galera.cache ibdata1 mysql performance_schema pxcnode10-bin.000002 sysca.pem grastate.dat ib_logfile0mysqld_safe.pid private_key.pempxcnode10-bin.index xb_doublewriteclient-cert.pem gvwstate.dat ib_logfile1mysql.sock public_key.pemserver-cert.pem[root@pxcnode10 ~]# grep password /var/log/mysqld.log -05-18T14:32:54.806734Z 1 [Note] A temporary password is generated for root@localhost: !6F0yJ!=wqSc[root@pxcnode10 ~]# mysql -uroot -p"!6F0yJ!=wqSc"mysql> alter user root@"localhost" identified by "JY1987...zy";Query OK, 0 rows affected (0.00 sec)mysql> grant all on *.* to jy@"%" identified by "JY1987...zy"; #添加全量同步用户jyQuery OK, 0 rows affected, 1 warning (0.01 sec)[root@pxcnode10 ~]# netstat -utnalp | grep 3306tcp6 00 :::3306 :::*LISTEN5782/mysqld [root@pxcnode10 ~]# netstat -utnalp | grep 4567# 查看集群端tcp 00 0.0.0.0:4567 0.0.0.0:*LISTEN5782/mysqld

1)在pxcnode10主机数据库服务器上,管理员登录并建库.表存储记录,pxc集群中的表必须要有主键,自增长可选。

[root@pxcnode10 ~]# mysql -uroot -pJY1987...zymysql> create database xb;Query OK, 1 row affected (0.00 sec)mysql> create table xb.zy(id int primary key auto_increment,age int);Query OK, 0 rows affected (0.00 sec)mysql> insert into xb.zy(age) values(11),(35),(35);Query OK, 3 rows affected (0.02 sec)Records: 3 Duplicates: 0 Warnings: 0mysql> select * from xb.zy;+----+------+| id | age |+----+------+| 1 | 11 || 2 | 35 || 3 | 35 |+----+------+3 rows in set (0.00 sec)

4.4、在20和30主机上都启动数据库服务并验证数据,启动服务后会自动同步10主机的数据(以20为例)

[root@pxcnode20 ~]# systemctl start mysql[root@pxcnode20 ~]# ls /var/lib/f client-key.pem ib_buffer_pool ibtmp1 mysql.sockpublic_key.pem server-key.pem xtrabackup_binlog_pos_innodbca-key.pem galera.cache ibdata1 innobackup.move.logmysql.sock.lockpxcnode20-bin.000001 sys xtrabackup_galera_infoca.pem grastate.dat ib_logfile0innobackup.prepare.log performance_schema pxcnode20-bin.index xb xtrabackup_infoclient-cert.pem gvwstate.dat ib_logfile1mysql private_key.pemserver-cert.pem xb_doublewrite xtrabackup_master_key_id[root@pxcnode20 ~]# netstat -utnalp | grep 3306tcp6 00 :::3306 :::*LISTEN3312/mysqld [root@pxcnode20 ~]# netstat -utnalp | grep 4567tcp 00 0.0.0.0:4567 0.0.0.0:*LISTEN3312/mysqld tcp 00 192.168.4.20:46176192.168.4.10:4567 ESTABLISHED 3312/mysqld tcp 00 192.168.4.20:4567 192.168.4.20:37076CLOSE_WAIT 3312/mysqld [root@pxcnode20 ~]# mysql -uroot -pJY1987...zy -e 'select * from xb.zy'mysql: [Warning] Using a password on the command line interface can be insecure.+----+------+| id | age |+----+------+| 1 | 11 || 2 | 35 || 3 | 35 |+----+------+

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。