pxc 集群 mysql_MySQL PXC 高可用集群搭建

1.准备环境

--用户用户组

groupadd mysql

useradd-g mysql mysql

--目录

mkdir -p /data/PXC/{data,redo,binlog,tmp,logs}chown -R mysql:mysql /data/PXCchmod -R 755 /data/PXCchown -R mysql:mysql PXCchmod -R 755 PXC

修改内核参数

[root@mar3 PXC]# cat /etc/security/limits.conf |grep -v ^$|grep -v ^#

mysql soft nproc65535mysql hard nproc65535mysql soft nofile65535mysql hard nofile65535

关闭各个节点防火墙:

systemctl stop firewalld

systemctl disable firewalld

2安装相关软件

socat

yum -y install socat

安装xtrabckup

cat <>/etc/yum.repos.d/percona.repo>[percona]> name =Percona> baseurl = https://mirrors.tuna.tsinghua.edu.cn/percona/release/\$releasever/RPMS/\$basearch

> enabled = 1

> gpgcheck = 0

>

>[epel]> name=epelrepo> baseurl=https://mirrors.aliyun.com/epel/\$releasever/\$basearch

> gpgcheck=0

> enable=1

> eof

[root@mar3 PXC]# yum list all| grep xtraback -i

percona-xtrabackup-24.x86_64 2.4.21-1.el7 @percona

holland-xtrabackup.noarch 1.1.21-1.el7 epel

percona-xtrabackup.x86_64 2.3.10-1.el7 percona

percona-xtrabackup-22.x86_64 2.2.13-1.el7 percona

percona-xtrabackup-22-debuginfo.x86_64 2.2.13-1.el7 percona

percona-xtrabackup-24-debuginfo.x86_64 2.4.21-1.el7 percona

percona-xtrabackup-80.x86_64 8.0.14-1.el7 percona

percona-xtrabackup-80-debuginfo.x86_64 8.0.14-1.el7 percona

percona-xtrabackup-debuginfo.x86_64 2.3.10-1.el7 percona

percona-xtrabackup-test.x86_64 2.3.10-1.el7 percona

percona-xtrabackup-test-22.x86_64 2.2.13-1.el7 percona

percona-xtrabackup-test-24.x86_64 2.4.21-1.el7 percona

percona-xtrabackup-test-80.x86_64 8.0.14-1.el7 percona

yum -y install percona-xtrabackup-24.x86_64

安装pxc

gunzip Percona-XtraDB-Cluster-5.7.26-rel29-31.37.1.Linux.x86_64.ssl101.tar.gztar -zxvf Percona-XtraDB-Cluster-5.7.26-rel29-31.37.1.Linux.x86_64.ssl101.tar -C /usr/local/

mv /usr/local/Percona-XtraDB-Cluster-5.7.26-rel29-31.37.1.Linux.x86_64.ssl101 /usr/local/mysqlchown -R mysql:mysql /usr/local/mysqlchmod -R 755 /usr/local/mysql

3.创建my.cnf配置文件,

标红色的部分要根据 每个节点的情况更改

[root@mar0 PXC]# cat my.cnf |grep -v ^#

[client]

default-character-set =uft8

port= 3306socket= /data/PXC/tmp/mysql.sock

[mysql]

prompt="\u@mysqldb \R:\m:\s [\d]>"[mysqld]

basedir=/usr/local/mysql

datadir= /data/PXC/data

port= 3306

server_id = 101socket= /data/PXC/tmp/mysql.sock

tmpdir=/data/PXC/tmp

character-set-server=utf8

log-error= /data/PXC/logs/alert_3306.log

pid-file = /data/PXC/tmp/mar0.inno.com.mysql_3306.pid

gtid_mode=ON

log-slave-updates=ON

enforce-gtid-consistency=ON

binlog_format=ROW

skip-slave-start=1log-bin=/data/PXC/binlog/mysql-bin

master_info_repository=TABLE

relay_log_purge=0binlog_checksum=NONE

transaction_write_set_extraction=XXHASH64

secure_file_priv=/data/export

slow_query_log=on

long_query_time=1slow_query_log_file=/data/PXC/logs/slow.log

log_queries_not_using_indexes=on

log_output=FILE

general_log=on

innodb_data_file_path=ibdata1:2G:autoextend

innodb_log_group_home_dir=/data/PXC/redo

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

wsrep_cluster_name=pxc-cluster

wsrep_cluster_address=gcomm://192.168.1.200,192.168.1.111,192.168.1.112

wsrep_node_name=pxc01

wsrep_node_address=192.168.1.200wsrep_sst_method=xtrabackup-v2

wsrep_sst_auth=pxc:123456pxc_strict_mode=ENFORCING

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

第二个节点

wsrep_node_name=pxc2

wsrep_node_address=192.168.1.111

第三个节点

wsrep_node_name=pxc3

wsrep_node_address=192.168.1.112

4. 修改mysql环境变量

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

5.开始部署

各个节点分别初始化数据库

mysqld --defaults-file=/data/PXC/my.cnf --initialize

启动第一个节点

mysqld_safe --defaults-file=/data/PXC/my.cnf --wsrep-new-cluster &

在第一个节点修改密码,创建复制用户

--修改密码

root@(none)>set password='123456';--创建一个SST用户

GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON*.* TO 'pxc'@'localhost' IDENTIFIED BY '123456';

启动节点#二节点和三节点不要同时启动,待二节点同步完成后再启动三节点

mysqld_safe --defaults-file=/data/PXC/my.cnf &

登陆验证:

root@mysqldb 21:49: [(none)]> show status like 'wsrep_cluster_%';+--------------------------+--------------------------------------+

| Variable_name | Value |

+--------------------------+--------------------------------------+

| wsrep_cluster_weight | 3 |

| wsrep_cluster_conf_id | 15 |

| wsrep_cluster_size | 3 |

| wsrep_cluster_state_uuid | b813dad6-298a-11eb-a1a0-ff3a44db33c5 |

| wsrep_cluster_status | Primary |

+--------------------------+--------------------------------------+

PXC 5.7集群参数具体描述

wsrep_cluster_name 指定群集的逻辑名称。对于群集中的所有节点,它必须相同。

wsrep_cluster_address 指定群集中节点的IP地址。

wsrep_node_name 指定每个单独节点的逻辑名称。如果未指定此变量,则将使用主机名称。

wsrep_node_address 指定该特定节点的IP地址。

wsrep_sst_method 默认情况下,Percona XtraDB集群使用Percona XtraBackup进行状态快照传输(SST)。

强烈建议设置wsrep_sst_method=xtrabackup-v2。

这种方法需要用户在初始节点上创建SST用户。用wsrep_sst_auth变量提供SST用户凭据。

wsrep_sst_auth 必须在引导第一个节点时创建此用户 并为其提供必要的权限:

mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'passw0rd';

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

mysql>FLUSH PRIVILEGES;

pxc_strict_mode   默认情况下PXC Strict模式为 ENFORCING,这将阻止使用Percona XtraDB集群中不受支持的特性 关于这个参数的具体描述可以参考:Percona XtraDB Cluster Strict Mode(PXC5.7)

binlog_format   Galera只支持行级复制,所以设置binlog_format=ROW。

efault_storage_engine Galera完全支持InnoDB存储引擎。它不能与MyISAM或任何其他非事务性存储引擎正常工作。将此变量设置为default_storage_engine=InnoDB。

innodb_autoinc_lock_mode Galera仅支持InnoDB的交错(2)锁定模式。设置传统(0)或连续(1)锁定模式会导致复制失败,因为未解决的死锁。 将此变量设置为innodb_autoinc_lock_mode=2。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值