mysql高可用集群搭建
Posted nuc_八道门
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql高可用集群搭建相关的知识,希望对你有一定的参考价值。
文章目录
- 卸载系统自带的MariaDB
- 开放访问端口
- 安装依赖
- 安装前请确定 openssl版本
- 官网下载PXC地址
- 找到对应的版本进行下载、解压
- 每一台都要配置
- 安装xtrabackup 2.4.20 CentOS7 percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm
- 各节点mysql初始化
- 引导第一个节点(192.168.56.101)
- 引导第二、三个节点
- 在第一个节点上查看状态
卸载系统自带的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)
- 尝试后台启动mysql
mysqld_safe --defaults-file=/etc/my.cnf --wsrep-new-cluster &
- 启动成功后开始配置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;
引导第二、三个节点
- 尝试后台启动mysql
mysqld_safe --defaults-file=/etc/my.cnf &
在第一个节点上查看状态
show status like 'wsrep%';
wsrep_incoming_addresses 查看集群里的节点地址
wsrep_cluster_size 节点数量
wsrep_cluster_status 集群状态
Swarm集群搭建并 搭建rancher 高可用
参考技术A 随便找一台当做manager节点 : docker swarm init --listen-addr 192.168.203.131:2377 --advertise-addr 192.168.203.131另一台执行:
docker swarm join \
> --token SWMTKN-1-056denxbi8spa9cvopssape6emo5s8hzba5wxol2rsnuljyobq-5qo8ma44dt44xiwn8ifxy1hu6 \
> 192.168.203.131:2377
目前2台节点:
执行: docker node ls
说一句题外话: 搭建 docker swarm 集群 请先 同步集群的时间,不然会提示 证书过期的错误.
查看网络:docker network ls
创建网络:
docker network create --driver overlay swarm_wuy
基于 Swarn集群 创建 rancher/server:
docker service create --replicas 2 --name rancher-server -p 90:8080 --network=swarm_wuy rancher/server:v1.6.14
查看服务状态:
docker service ls
查看服务详情:
docker service ps rancher-server
删除服务:
docker service rm rancher-server
伸缩节点:
docker service scale rancher-server=3
------------------------------ 文章无关内容 (补充知识)
以上是关于mysql高可用集群搭建的主要内容,如果未能解决你的问题,请参考以下文章