mysql高可用集群搭建

Posted nuc_八道门

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql高可用集群搭建相关的知识,希望对你有一定的参考价值。

文章目录

卸载系统自带的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 集群状态

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高可用集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

关于搭建MySQL高可用集群的一些常见问题

搭建MySQL高可用负载均衡集群

MySQL集群搭建-双主+keepalived高可用

搭建MHA实现MySQL集群高可用

MHA MySQL 高可用集群搭建

通过Keepalived搭建MYSQL双主模式的高可用集群系统