mysql高可用集群搭建

该文详细介绍了如何卸载系统自带的MariaDB,然后配置并安装PerconaXtraDBCluster,包括开放防火墙端口,禁用SELINUX,安装依赖,下载并解压软件,设置用户和权限,以及初始化MySQL和配置集群参数。同时,还提到了xtrabackup的安装和集群节点的引导过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

卸载系统自带的MariaDB

yum -y remove mari*
``

# 查看是否已卸载
```sh
rpm -qa |grep mari

开放访问端口

#MySQL 对外提供服务的端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#请求进行全量同步(SST)的端口

firewall-cmd --zone=public --add-port=4444/tcp --permanent

#集群中各个节点间的通讯端口

firewall-cmd --zone=public --add-port=4567/tcp --permanent

#请求进行增量同步(IST)的端口

firewall-cmd --zone=public --add-port=4568/tcp --permanent

firewall-cmd --reload

关闭SELINUX
SELinux 安全模块可能会限制对 Percona XtraDB Cluster 的数据访问。

vi /etc/selinux/config

设置下面的值,保存即可

SELINUX=disabled

修改完成后需要重启服务器: reboot

安装依赖

yum install -y libaio

安装前请确定 openssl版本

openssl version

我这里版本是 1.0.2

官网下载PXC地址

https://www.percona.com/downloads/Percona-XtraDB-Cluster-57/LATEST/

找到对应的版本进行下载、解压

下载

wget https://downloads.percona.com/downloads/Percona-XtraDB-Cluster-57/Percona-XtraDB-Cluster-5.7.30-31.43/binary/tarball/Percona-XtraDB-Cluster-5.7.30-rel33-43.1.Linux.x86_64.ssl102.tar.gz

解压

tar -zxvf Percona-XtraDB-Cluster-5.7.30-rel33-43.1.Linux.x86_64.ssl102.tar.gz -C /opt

建立软连接

ln -s /opt/Percona-XtraDB-Cluster-5.7.30-rel33-43.1.Linux.x86_64.ssl102/ /usr/local/mysql

建立用户组

groupadd mysql

增加用户

useradd -M -g mysql -s /sbin/nologin -d /usr/local/mysql mysql

建立工作目录

mkdir -p /database/mysql/data/3306

目录授权

chown mysql:mysql /database/mysql/data/3306 -R
echo 'export PATH=/usr/local/mysql/bin/:$PATH' >>/etc/profile
source /etc/profile

每一台都要配置

[mysqld]
user = mysql
basedir = /usr/local/mysql/
datadir = /database/mysql/data/3306
character_set_server = utf8
log_timestamps = system
skip_name_resolve = 1
lower_case_table_names = 1 
server-id = 101
binlog_format = row
default_storage_engine = InnoDB
innodb_autoinc_lock_mode = 2
wsrep_node_name = pxc1
wsrep_node_address = 192.168.56.101:4567
wsrep_provider = /usr/local/mysql/lib/libgalera_smm.so
wsrep_cluster_name = pxc-cluster
wsrep_cluster_address = gcomm://192.168.56.101:4567,192.168.56.102:4567
wsrep_sst_method = xtrabackup-v2
wsrep_sst_auth = sstuser:passw0rd
pxc_strict_mode = ENFORCING

安装xtrabackup 2.4.20 CentOS7 percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm

wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.20/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm

yum -y install percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm

yum -y install qpress socat

各节点mysql初始化

mysqld --defaults-file=/etc/my.cnf --initialize-insecure

引导第一个节点(192.168.56.101)

  1. 尝试后台启动mysql
mysqld_safe --defaults-file=/etc/my.cnf --wsrep-new-cluster &
  1. 启动成功后开始配置MySQL
set password='passw0rd';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'passw0rd' WITH GRANT OPTION;

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

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


FLUSH PRIVILEGES;

引导第二、三个节点

  1. 尝试后台启动mysql
mysqld_safe --defaults-file=/etc/my.cnf &

在第一个节点上查看状态

show status like 'wsrep%';

wsrep_incoming_addresses 查看集群里的节点地址
wsrep_cluster_size 节点数量
wsrep_cluster_status 集群状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值