前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Docker中安装使用MySQL 部署PXC高可用(多主同时写入)

在Docker中安装使用MySQL 部署PXC高可用(多主同时写入)

作者头像
jwangkun
发布2021-12-23 17:35:31
1.1K0
发布2021-12-23 17:35:31
举报
文章被收录于专栏:John Wong's BlogJohn Wong's Blog

PXC是Percona公司的(Percona XtraDB Cluster) 简称PXC。它是基于Galera协议的高可用集群方案。可以实现多个节点间的数据同步复制以及读写,并且可保障数据库的服务高可用及数据强一致性。

优点:

​   1、实现mysql数据库集群架构的高可用性和数据的 强一致性。 ​   2、完成了真正的多节点读写的集群方案。 ​   3、改善了传统意义上的主从复制延迟问题,基本上达到了实时同步。 ​   4、新加入的节点可以自动部署,无须提供手动备份,维护起来很方便。 ​   5、由于是多节点写入,所以数据库故障切换很容易。

缺点:   1、新加入的节点开销大,需要复制完整的数据。采用SST传输开销太大。   2、任何更新事务都需要全局验证通过,才会在每个节点库上执行。集群性能受限于性能最差的节点,也就是经常说的短板效应。   3、因为需要保证数据的一致性,所以在多节点并发写时,锁冲突问题比较严重。   4、存在写扩大问题,所有的节点上都会发生些操作。   5、没有表级别的锁定,执行DDL语句操作会把整个集群锁住,而且也 kill 不了(建议使用Osc操作,即在线DDL)   6、所有的表必须含有主键,不然操作数据时会报错。

一、安装

1、环境规划

代码语言:javascript
复制
192.168.1.30:3307  node1
192.168.1.30:3308  node2
192.168.1.30:3309  node3

2、环境部署

代码语言:javascript
复制
1) 拉取PXC镜像 注(我拉latest版部署的时候失败了,换5.7.30版本部署成功)
    docker pull percona/percona-xtradb-cluster:5.7.30
2) 为PXC镜像改名
    docker tag percona/percona-xtradb-cluster:5.7.30 pxc
3) 创建pxc网段
    docker network create --subnet=172.18.0.0/16 dz-pxc-net
4) 先创3个数据卷和一个备份数据卷(用于热备份数据)
    docker volume create --name v1
    docker volume create --name v2
    docker volume create --name v3
    docker volume create --name backup
5) 创建3个容器
    docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -v v1:/var/lib/mysql -v backup:/data --privileged=true --name=node1 --net=dz-pxc-net --ip 172.18.0.2 pxc
    
    docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=node1 -v v2:/var/lib/mysql -v backup:/data --privileged=true --name=node2 --net=dz-pxc-net --ip 172.18.0.3 pxc
    
    docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=node1 -v v3:/var/lib/mysql -v backup:/data --privileged=true --name=node3 --net=dz-pxc-net --ip 172.18.0.4 pxc

下一篇: MySQL+Haproxy+Keepalived+MGR高可用(多主同时写入)→

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档