Docker percona-xtradb-cluster(pxc)+HAProxy+MyCat (一)

利用Percona XtraDB Cluster搭建MySql高可用集群 告别单点故障,拥抱持续可用——构建基于 Percona XtraDB Cluster 的 MySQL 高可用集群 阅读详情

一、拉取镜像及镜像改名

#拉取镜像
docker pull percona/percona-xtradb-cluster:5.7.22
docker pull haproxy:1.9.6
#镜像改名
docker tag percona/percona-xtradb-cluster:5.7.22 pxc:5.7.22

二、创建网段

docker network create --subnet=172.18.0.0/24 net1
命令简介
########################################################
#docker创建的网段默认内置是172.17.0.$$
#172.18.0.0/24   24代表子网掩码 255.255.255.0
docker network create --subnet=网段 网络名称
#查看网段信息
docker network inspect 网络名称
#删除网段
docker network rm 网络名称
#查看所有网络
docker network ls
#查看容器网络信息
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

三、创建数据卷及备份数据卷(backup 用于热备份数据)

docker volume create v1 && \
docker volume create v2 && \
docker volume create v3 && \
docker volume create v4 && \
docker volume create v5 && \
docker volume create backup
命令简介
########################################################
#创建数据卷
docker volume create 数据卷名称
#删除数据卷
docker volume rm 数据卷名称
#查看数据卷
docker volume inspect 数据卷名称
#删除无用卷
docker volume prune

四、运行容器

docker run -d -p 3307:3306 --name=node1 -v v1:/var/lib/mysql -v backup:/data -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC -e XTRABACKUP_PACSSWORD=root --privileged  --net=net1 --ip 172.18.0.2 pxc:5.7.22
docker run -d -p 3308:3306 --name=node2 -v v2:/var/lib/mysql -v backup:/data -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PACSSWORD=root --privileged  --net=net1 --ip 172.18.0.3 pxc:5.7.22
docker run -d -p 3309:3306 --name=node3 -v v3:/var/lib/mysql -v backup:/data -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PACSSWORD=root --privileged  --net=net1 --ip 172.18.0.4 pxc:5.7.22
docker run -d -p 3310:3306 --name=node4 -v v4:/var/lib/mysql -v backup:/data -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PACSSWORD=root --privileged  --net=net1 --ip 172.18.0.5 pxc:5.7.22
docker run -d -p 3311:3306 --name=node5 -v v5:/var/lib/mysql -v backup:/data -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC -e CLUSTER_JOIN=node1 -e XTRABACKUP_PACSSWORD=root --privileged  --net=net1 --ip 172.18.0.6 pxc:5.7.22
命令简介:
########################################################
-d 后台启动
-p 3307:3306 端口映射
-e MYSQL_ROOT_PASSWORD=root  指定数据库密码
-e CLUSTER_NAME=PXC 指定集群名称
-e XTRABACKUP_PASSWORD=root 指定集群之间同步需要的密码
-v v1:/var/lib/mysql 把刚刚创建的数据卷挂载到mysql中
--name=node1 指定容器名称(当前我们把node1作为主节点、后面会创建node2)
--net=net1 指定网段
--ip=172.18.0.2 指定ip 

-e CLUSTER_JOIN=node1  指定与哪个节点进行数据同步

五、注意事项

1、每个MySQL容器创建之后,因为要执行PXC的初始化和加入集群等工作, 耐心等待1分钟左右再用客户端连接MySQL。 另外,必须第1个MySQL节点启动成功, 用MySQL客户端能连接上之后,再去创建其他MySQL节点。

2、如果停掉某一节点( docker stop node1 )再启动时 docker start node1 可能会发现连接不上了。

解决方式:1)docker rm node1 node2 node3 node4 node5
                  2) vi /var/lib/docker/volumes/v1/_data/grastate.dat 
                vi /var/lib/docker/volumes/v2/_data/grastate.dat 
                vi /var/lib/docker/volumes/v3/_data/grastate.dat 
                vi /var/lib/docker/volumes/v4/_data/grastate.dat 
                vi /var/lib/docker/volumes/v5/_data/grastate.dat 
                -- 将safe_to_bootstrap: 0 改为1
                  3)重新安装pxc容器,run node1,node2,node3,node4,node5
                  4)CLUSTER_JOIN 为最后存在的节点(同步节点)

六、效果

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                                   NAMES
1db8cadf6ec6        pxc:5.7.22          "/entrypoint.sh "   About a minute ago   Up About a minute   4567-4568/tcp, 0.0.0.0:3311->3306/tcp   node5
ea143691ed0a        pxc:5.7.22          "/entrypoint.sh "   About a minute ago   Up About a minute   4567-4568/tcp, 0.0.0.0:3310->3306/tcp   node4
fdaabb94cba7        pxc:5.7.22          "/entrypoint.sh "   About a minute ago   Up About a minute   4567-4568/tcp, 0.0.0.0:3309->3306/tcp   node3
106392a16de4        pxc:5.7.22          "/entrypoint.sh "   5 minutes ago        Up 5 minutes        4567-4568/tcp, 0.0.0.0:3308->3306/tcp   node2
bdaebd52805a        pxc:5.7.22          "/entrypoint.sh "   7 minutes ago        Up 7 minutes        4567-4568/tcp, 0.0.0.0:3307->3306/tcp   node1

在navicat中可连每一节点,并且在任意节点都可增删改查

Docker+PXC+Haproxy搭建高可用强一致性的MySQL集群 超详细!!!Docker+PXC+Haproxy搭建高可用强一致性的MySQL集群 阅读详情

相关推荐

docker搭建pxc三节点集群+haproxy+keepalived (高可用+双机热备)+冷还原

拉取pxc镜像 docker pull percona/percona-xtradb-cluster:5.7.22 修改percona/percona-xtradb-cluster:5.7.22镜像名字为pxc docker tag percona/percona-xtradb-cluster:5.7.22 docker image ls 查看我们拉取的镜像 sadasd ...

qq_41929605的博客 1170

【详细学习Docker部署搭建高可用的MySQL集群环境】

MySQL集群搭建在实际项目中是非常必须的,接下来我们来学习通过PXC【Percona XtraDB Cluster】来实现强一致性数据库集群搭建。好了,到这里【详细学习Docker部署搭建MySQL集群环境】结束了,更多内容持续创作中。还有更多的命令进行测试,同理,感兴趣的同学可以自行尝试。

Coder_ljw的博客 4701

MySql 高可用Percona Xtradb Cluste 5.5 (包含binlog server)实战安装部署指南中文版v2

Percona XtraDB Cluster是一个开源,免费的MySQL高可用工具。文档详细说明了Percona Xtradb Cluste 5.5 (包含binlog server)实战安装部署。

基于docker的mysql集群搭建(一):percona-xtradb-cluster集群搭建(主主复制)

mydsql的集群解决方案很多这里选择percona-xtradb-cluster percona-xtradb-cluster简介 Percona XtraDB Cluster(简称PXC),是由percona公司推出的mysql集群解决方案。特点是每个节点都能进行读写,且都保存全量的数据。也就是说在任何一个节点进行写入操作,都会同步给其它所有节点写入到自己的磁盘。这点跟Oracle Rac有本质的区别,Rac是多个节点连同一个共享存储,假如Oracle的共享存储挂了,整个集群就挂了。而Mysql

dh_2017的博客 2791

Percona-XtraDB-Cluster

Percona XtraDB Cluster is a database clustering solution for MySQL. It ensures high availability, prevents downtime and data loss, and provides linear scalability for a growing environment. Features of Percona XtraDB Cluster include: • Synchronous replication: Data is written to all nodes simultaneously, or not written at all if it fails even on a single node. • Multi-master replication: Any node can trigger a data update. • True parallel replication: Multiple threads on slave performing replication on row level. • Automatic node provisioning: You simply add a node and it automatically syncs. • Data consistency: No more unsynchronized nodes. Percona XtraDB Cluster is fully compatible with MySQL Server Community Edition, Percona Server, and MariaDB in the following sense: • Data compatibility: You can use data created by any MySQL variant. • Application compatibility: There is no or minimal application changes required.

(详细总结)python爬取 163收件箱邮件内容,收件箱列表的几种方法(urllib, requests, selenium)

需求:最近有一个需求,需要将163邮箱收件箱里面的所有邮件的内容全部copy下来,整理到一个word里面,不多也就28页的邮件(不要问我为什么有这需求,不告诉你),自己手动去ctrl+ cv 的话,估计要搞吐。然后就想能不能用python的爬虫来实现,虽然过程比较苦(后期改bug改的要吐了)。但是会后还是将需求实现了。这基本也算是入门了 urllib、requests、selenium这几个py...

man_tou_22 1万+

Docker 实战 - 搭建 Percona XtraDB Cluster MySQL

一、PXC 1、拉取镜像 docker pull percona/percona-xtradb-cluster:5.7.21 docker images 查看一下 :会有 percona/percona-xtradb-cluster 这样一个 Images 我们每次运行的时候,要输入 Image 的名字,这个太长了,我们可以使用 tag 给他打个标签,方便使用 docker tag percona/percona-xtradb-cluster:5.7.21 pxc 然后 docker images 会发现

qq_40293674的博客 929

centos 添加新硬盘,对根目录扩容

本地安装了虚拟机,系统为centos7,使用过程中,渐渐地发现磁盘容量不够用了,于是在虚拟机中新增了一块硬盘。 进入系统内查看: sdb是新增的硬盘,大小为40g。 接下来有两种方式,一种是普通方式直接挂载。https://blog.youkuaiyun.com/qq_39314099/article/details/106200322 这样的话只有在挂载点的目录下操作才能使用到这个新硬盘,不是很理想。 还有一种方式lvm,逻辑卷管理的方式。 LVM简单介绍: 它是 Linux 下对磁盘分区进行管

qq_39314099的博客 1万+

docker MySQL集群percona-xtradb-cluster

1.下载percona-xtradb-cluster docker pull docker.io/percona/percona-xtradb-cluster 给镜像改名 docker tag percona/percona‐xtradb‐cluster pxc 2.创建内部网络 docker network create --subnet=172.18.0....

xiaoxin0630的博客 843

【simulink模型】独立悬架振动模型,七自由度整车simulink模型

车辆悬架系统的设计对提升车辆行驶平顺性和操纵稳定性具有重要意义。本文构建了独立悬架的振动仿真模型以及七自由度整车动力学模型,基于 Simulink 平台实现对模型的动态响应仿真。通过对比不同工况下的车辆振动响应,验证了模型的准确性与实用性。研究结果为车辆悬架系统的优化设计提供了有力支持。

2401_84610415的博客 1581

YOLO26改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是。YOLO26主要用于轻量化应用部署,相关轻量化改进与其整体架构非常适配。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 1091

docker-compose来搭建PXC集群

1. 说明 当我们使用MySQL主从复制时候,你可能已经意识到数据同步并没有强一致性,是异步执行。那么这样就会可能出现数据的丢失以及查询数据的时候,从库还没有复制成功的情况????。 正对这样的情况,我采用了PXC集群,它具有强一致性、无同步延迟。 2. 创建文件目录结构 # 创建文件结构 cd /usr/local/docker mkdir pxc cd pxc mkdir data master f...

qq_41967899的博客 1443

【OpenClaw从入门到精通】第45篇:Skill供应链安全——如何识别并避开恶意技能插件?(2026实测版)

随着OpenClaw生态爆发式增长,全球Skills总量近75万个,日均新增2.1万个,但恶意/问题插件已超600个,数十万用户受影响。本文基于奇安信威胁报告及360安全实践,拆解恶意技能的五大核心特征,提出"安装前三步法"安全审查流程,详解安全技能来源白名单与定期审计方案,并深度解析360龙虾Skill安全超市的分级认证机制。读者可掌握从技能筛选、安装审查到术后审计的全流程安全防护手段,通过实操命令与案例演示,零成本构建Skill供应链安全防线,避免遭遇私钥窃取、资产损失等安全事件。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 561

Mysql+haproxy+mycat+pxc+zookeeper实现高可用集群

Mysql+haproxy+mycat+pxc+zookeeper实现高可用集群 1.应用程序通过HaProxy访问Mycat 2.Mycat实现分库分表以及根据访问的表选择不同的数据库 3.读写user表时通过Mycat节点1访问数据库并使用Percona-xtraDB-Cluster(pxc)实现强同步 4.读写ordertest表时则通过Mycat节点2访问数据库,两个数据库之间一主一从实现读写分离 5.user表引入了zookeeper工具,利用zkID生成器保证ID不会重复。

QUAN的MYSQL之旅 2384

HQChart实战教程49-点击修改K线颜色及背景色

HQChart实战教程49-点击修改K线颜色及背景色需求效果图步骤1. 注册点击监听事件2. 修改K颜色添加一个自定义颜色的K线klineoption清空所有自定义颜色的K线option交流QQ群: 950092318HQChart代码地址完整例子 需求 对点击的K线修改颜色。 效果图 步骤 1. 注册点击监听事件 事件ID JSCHART_EVENT_ID.ON_CLICK_CHART_PAINT, 注册监听事件见教程 HQChart使用教程5- K线图控件操作函数说明 this.Create=func

小银 2911

jsqlparser 版本不兼容:net.sf.jsqlparser.statement.select.SelectItem 以及 select.SelectBody 解决方法

看Bug直接定位到最后面的错误提示,一开始以为是UnabletostartembeddedTomcat的基本错误,后续发现排查方向错误!问题比较复杂,不过这类问题可看:出现WebServerException:UnabletostartembeddedTomcat解决方法(全)

码农研究僧的博客 2673

基于Docker的Percona XtraDB Cluster(PXC)掉电无法正常启动的解决方法

1.使用Docker重新start容器ID后,可能会出现下面的错误 Error response from daemon: container fd7f8a24df60aa60e5fcacfdd6c4f36456cff62d062fc26c8d5b427d76a200fe: endpoint join on GW Network failed: driver failed programming...

astra_zhao的专栏 1097

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

kubernetes部署Percona XtraDB Cluster集群

PXC介绍 全称percona-xtradb-cluster,提供了MySQL高可用的一种实现方法。PXC集群以节点组成(推荐至少3节点,便于故障恢复),每个节点都是基于常规的 MySQL Server,意味着你可以从集群中分离出某节点单独使用,集群中每个节点都包含完整的数据。 PXC特性 同步复制 支持多主复制 支持并行复制 作为高可用方案,实施相对简单 架构图如下所示 部署PXC集群到kubernetes 1、下载部署文件 gitclone-bv1.5.0ht...

运维相关技术闲聊,专业背锅内容媒体 828

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

docker搭建mysql PXC集群

1.docker安装pxc镜像,https://hub.docker.com/r/percona/percona-xtradb-cluster docker pull percona/percona-xtradb-cluster 如果镜像名字太长可以修改镜像名称,然后删掉原镜像 docker tag percona/percona-xtradb-cluster pxc 2.创建net1网段 docker network create --subnet=172.18.0.0/16 net1

江黎 969

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Docker percona-xtradb-cluster(pxc)+HAProxy+MyCat (三)

一、下载mycat及启动 #linux版 http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz #启动命令 进入bin文件夹,最好放在/usr/local/mycat/ cd /usr/local/mycat/bin ./mycat start #window版 http://dl.myc...

Cash Blog 650

docker PXC集群+haproxy+keepalived搭建

安装PXC镜像 docker pull percona/percona‐xtradb‐cluster:5.7.21 #强烈推荐安装5.7.21版本的PXC镜像,兼容性最好,在容器内可以执行apt-get安装各种程序包。最新 版的PXC镜像内,无法执行apt-get,也就没法安装热备份工具了 为PXC镜像改名 docker tag percona/percona‐xtradb‐clust...

Yuvraj的博客 1094

【docker的那些事】使用percona-xtradb和haproxy搭建mysql集群

前言 前面我们对docker的网络、Dockerfile,持久化以及仓库等相关都进行简单的介绍,这里我们简单的来使用docker来搭建一个mysql的集群。对于集群的概念来说,有强一致性和弱一致性,这里我们使用percona-xtradb来搭建一个mysql的高可用集群,这里也是强一致性的。 拉取镜像、配置。 #1、拉取镜像 docker pull percona/percona-xtradb-cluster:5.7.21 #2、打一个tag复制镜像 docker tag percona/percona-

陈橙橙 1671

Docker percona-xtradb-cluster(pxc)+HAProxy+MyCat (二)

一、新建目录及文件,用于挂载haproxy配置文件 mkdir /usr/local/src/config/haproxy -p cd /usr/local/src/config/haproxy touch haproxy.cfg vi haproxy.cfg haproxy.cfg global #工作目录 chroot /usr/local/etc/haproxy #日志文件,...

Cash Blog 346

Docker多机集群部署之MySQL集群(PXC)

一、环境说明: 宿主机:Win10 虚拟机工具:VMware Workstation 15 系统及版本:Ubuntu16.04 Docker版本:18.09.3 涉及到的虚拟主机: 192.168.1.100 haproxy 192.168.1.101 node1 192.168.1.102 node2 192.168.1.103 node3 二、准备镜像 #拉取percona/percona-xtradb-cluster:5.6 #pxc5.7版本不支持不使用k8s或者et..

weixin_43960618的博客 1473

Docker安装MySQL数据库集群之PXC解决方案

Docker安装PXC集群,即mysql集群的安装 安装PXC 可以使用带版本的安装docker pull percona/percona-xtradb-cluster:5.7,下面干脆安装最新版 [root@localhost ~]# docker pull percona/percona-xtradb-cluster 由于镜像名字太长,修改成短一点的 [root@localhost ~]# docker tag docker.io/percona/percona-xtradb-cl..

长草颜团子 5977
上一篇: Dockerfile 构建 mycat
下一篇: Docker percona-xtradb-cluster(pxc)+HAProxy+MyCat (二)
cashZhang27
博客等级 码龄10年 22粉丝 67原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值