当前位置: 首页 > article >正文

Docker 搭建mysql 集群(二)

PXC方案

很明显 PXC方案在任何一个节点写入的数据都会同步到其他节点,数据双向同步的(在任何节点上都可以同时读写)

创建MySQL PXC集群

1 安装PXC镜像

docker pull percona/percona-xtradb-cluster:5.7.21

2 为PXC镜像改名

docker tag percona/percona-xtradb-cluster:5.7.21 pxc

 3 创建net1网段

docker network create --subnet=172.18.0.0/16 net1

4 创建5个数据卷

docker volume create --name v1

docker volume create --name v2

docker volume create --name v3

docker volume create --name v4

docker volume create --name v5

 5 创建备份数据卷(用于热备份数据)

docker volume create --name backup

6 创建5节点的PXC集群  

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

创建第1个MySQL节点

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:/data --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc

创建第2个MySQL节点

docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v2:/var/lib/mysql -v backup:/data --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc

创建第3MySQL节点

docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v3:/var/lib/mysql --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc

创建第4MySQL节点

docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v4:/var/lib/mysql --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc

创建第5MySQL节点

docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v5:/var/lib/mysql -v backup:/data --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc

查看容器运行状态  

docker container ls

 可以创建一个数据库或表,发现在任意节点创建的数据都会同步到其他节点

 


http://www.kler.cn/a/231364.html

相关文章:

  • 基于YOLOv8深度学习的无人机航拍小目标检测系统(PyQt5界面+数据集+训练代码)
  • 现代分布式系统新法宝:基于单元的架构
  • 商业iOS端路由架构演进
  • 游戏引擎学习第19天
  • 麒麟时间同步搭建chrony服务器
  • TDSQL 免密码登录
  • C语言——oj刷题——实现字符串逆序
  • 波纹扩散效果
  • 阿里云游戏服务器租用价格表,2024最新报价
  • Linux下centos操作系统安装Mysql8.0过程及踩坑填补
  • 幻兽帕鲁服务器怎么搭建?palworld创建笔记(收藏备用)
  • nginx简单配置四种携带/时的拼接关系
  • 人工智能福利站,初识人工智能,图神经网络学习,第四课
  • Spring Cloud使用ZooKeeper作为注册中心的示例
  • postman执行批量测试
  • step导入到solidworks外观处理方法
  • 图数据库 之 Neo4j - 环境搭建(2)
  • Android Button background 失效
  • 最新GPT4.0使用教程,AI绘画,GPT语音对话使用,DALL-E3文生图
  • UniApp 快速上手与深度学习指南
  • CloudStack中控制台虚拟机调试
  • 7.electron之渲染线程发送事件,主进程监听事件
  • C++中的作用域
  • 音视频色彩:RGB/YUV
  • 【RT-DETR有效改进】计算训练好权重文件对应的FPS、推理每张图片的平均时间(科研必备)
  • 2024-02-04 混用 C 与 C++ 的 calloc 和 new 导致的问题