Mysql高可用集群PXC基础配置

目录

 

一、PXC概述

1.简介

2.架构图

3. 特性

二、主节点配置

1.机器需求

2.环境准备

2.1 解压

2.2 添加软链接,创建数据目录并授权

3.配置文件

4.初始化数据库

5.启动第一节点

6.创建环境变量

三、维护数据库环境

 删除匿名用户和非root用户

四、其他节点配置

五、查看集群


一、PXC概述

1.简介

PXC是percona公司的percona xtraDB cluster.简称PXC。它是基于GaLera协议的高可用集群方案。可以实现多个节点间的数据同步复制以及读写,并且可保障数据库的服务高可用及数据强一致性

2.架构图

Mysql高可用集群PXC基础配置_第1张图片

Mysql高可用集群PXC基础配置_第2张图片

三个节点都已经启动成功,这样在任意一个节点上面,执行一条DML语句的操作,都会同步到另外两个节点。

Mysql高可用集群PXC基础配置_第3张图片

 

3. 特性

优点:

1. 可以达到时时同步,无延迟现象发生

2. 完全兼容MySQL

3. 对于集群中新节点的加入,维护起来很简单

4. 数据的强一致性

不足之处:

1. 只支持Innodb存储引擎

2. 存在多节点update更新问题,也就是写放大问题

3. 在线DDL语句,锁表问题

4. sst针对新节点加入的传输代价过高的问题

二、主节点配置

1.机器需求

主机名 IP 描述
test1 192.168.0.31 pxc
test2 192.168.0.32 pxc
test3 192.168.0.33 pxc

cat /etc/hosts
192.168.0.31 test1.cn
192.168.0.32 test2.cn
192.168.0.33 test3.cn

 

2.环境准备

xtrabackup包: percona-xtrabackup-2.4.6-Linux-x86_64.tar.gz

Percona-XtraDB-Cluster包:Percona-XtraDB-Cluster-5.6.26-rel74.0-25.12.1.Linux.x86_64.tar.gz

yum remove mariadb* -y   //移除mysql

yum install perl-IO-Socket-SSL.noarch perl-DBD-MySQL.x86_64 perl-Time-HiRes openssl openssl-devel socat -y  //安装依赖

2.1 解压

[root@test1 ~]# tar -xf percona-xtrabackup-2.4.6-Linux-x86_64.tar.gz -C /usr/local/

[root@test1 ~]# tar -xf Percona-XtraDB-Cluster-5.6.26-rel74.0-25.12.1.Linux.x86_64.tar.gz -C /usr/local/

2.2 添加软链接,创建数据目录并授权

[root@test1 local]# ln -sv Percona-XtraDB-Cluster-5.6.26-rel74.0-25.12.1.Linux.x86_64/ mysql

[root@test1 local]# useradd -s /sbin/nologin mysql

[root@test1 local]# mkdir -p /data/mysql

[root@test1 local]# chown mysql.mysql -R /data/mysql/

[root@test1 local]# chown mysql.mysql -R mysql

[root@test1 percona-xtrabackup-2.4.6-Linux-x86_64]# cp /bin/* /usr/local/mysql/bin/

3.配置文件

[root@test1 ~]# vim /etc/my.cnf

[mysqld]
datadir=/data/mysql   #数据存放目录
socket = /tmp/mysql.sock  #套接字
pid-file=/data/mysql/mysql.pid 
character_set_server = utf8
max_connections = 3000
back_log= 3000
skip-name-resolve
sync_binlog=0   #实时同步
innodb_flush_log_at_trx_commit=1  #刷新日志
server-id = 1  #唯一ID
#pxc
default_storage_engine=Innodb    #默认存储引擎
innodb_autoinc_lock_mode=2     #本身模式
binlog_format=row         #日志格式
wsrep_cluster_name=pxc_zs
wsrep_slave_threads=4  #开启的复制线程数,cpu核数的2倍
wsrep_cluster_address=gcomm://192.168.0.31,192.168.0.32,192.168.0.33  #指定集群节点
wsrep_node_address=192.168.0.31       #当前IP
wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so   #调用的固定模块
wsrep_sst_method=xtrabackup-v2     #同步方式
wsrep_sst_auth=sst:zs  #同步认证,账号密码

4.初始化数据库

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/ --defaults-file=/etc/my.cnf --user=mysql

5.启动第一节点

[root@test1 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

[root@test1 ~]# /etc/init.d/mysql bootstrap-pxc

6.创建环境变量

让系统变量读到MySQL的路径:

[root@test1 ~]# vim /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin

[root@test1 ~]# source !$

三、维护数据库环境

 删除匿名用户和非root用户

mysql> delete from mysql.user where user!='root' or host!='localhost';
mysql> grant all privileges on *.* to 'sst'@'%' identified by 'zs';
mysql> grant all privileges on *.* to 'sst'@'localhost' identified by 'zs';
mysql> flush privileges;

四、其他节点配置

步骤同上,有两处不同之处

1.配置文件

配置文件的server-id 和wsrep_node_address 不同

2.启动mysql

/etc/init.d/mysql start

五、查看集群

在test1运行

mysql> show status like 'wsrep%';

Mysql高可用集群PXC基础配置_第4张图片

你可能感兴趣的:(mysql,集群,PXC,高可用)