搭建PXC集群

  1. PXC集群介绍

    1. Pecona XtraDB Cluster 是业界主流的MySQL集群方案
    2. PXC集群的数据同步具有强一致性的特点
    3. PXC集群只支持InnoDB引擎
    4. PXC集群保存的是高价值的数据
  2. 数据库运行在Docker

    1. MySQL放在容器中运行会不会有性能损耗?
      1. Docker是轻量级的虚拟机,Docker既没有虚拟硬件,又没有安装独立的操作系统,只不过是给Docker线程绑定上了CPU跟内存,然后Docker内部再去划分每个容器占有多少硬件资源,Docker直接使用宿主机的Linux的内核和硬件交互,所以容器IO的性能是不会有太多损失的,所以把数据放在容器里面是不需要担心的。
    2. 数据库保存到容器中,如果容器奔溃,如何提取数据?
      1. 因为容器是可读写的,所以把数据库部署在容器里面,那么数据也就存放在容器里面,而且宿主机无法访问容器内部的文件,如果容器发生故障无法启动,我们也真没办法将数据从容器里面提取出来。
      2. 但是这个问题也能解决,给容器做目录映射,或者挂着数据卷,把容器里面的数据目录映射到宿主机的文件夹上面,即便容器奔溃了也没有关系,因为在宿主机上存放着数据库的数据,无非就是删掉故障的容器,然后重新创建一个容器,把宿主机的目录挂载在新的容器即可。
  3. 开启防火墙端口

    1. 2377端口:只是让其他端口能加入到swarm中集群的端口,
    2. 7946和4789端口:swarm虚拟网络之间通讯的端口,并且这两个端口还要开通tcp跟upd协议。
    3. 必须要开启防火墙端口

      每个虚拟机节点都要开放Swarm集群的三个端口,reload防火墙之后,还要重启每个节点的Docker服务,然后才能创建PXC容器,否则就会出现因为防火墙的原因,导致从节点无法连接主节点容器。

  4. 下载安装最新的PXC镜像

    1. 镜像里面已经包含了percona数据库,所以不需要再单独安装数据库了。

    2. 包括配置Replication集群的时候,镜像里面也包含了MySQL数据库。

    3. tag标签可以修改镜像的名称

    4. 然后再删除rmi原有镜像的名称即可

    5. 建议下载5.7.21版本的PXC镜像

  5. PXC的主节点容器

    1. 第一个启动的PXC节点是主节点,它要初始化PXC集群

    2. PXC启动之后,就没有主节点角色了 

    3. PXC集群任何一个节点都是可以读写数据的

  6. 创建主节点容器

    1. 创建主节点之后,稍等一会儿,才能连接。因为需要初始化很多东西。
    2. -d 是不需要进入交互界面,MySQL数据库直接在后台运行
    3. -p 端口的映射,MySQL的端口号是3306,需要把端口映射到宿主机的9001端口上
    4. 使用Navicat连接9001的端口,就能连接数端口为3306的MySQL了
    5. -e 给容器传入数据
    6. XTRABACKUP_PASSWORD= abc123456 PXC集群之间数据同步的密码。只有数据正确了才能进行同步。
    7. -v 数据卷的挂载。数据卷可以简单的理解为虚拟的磁盘,这个虚拟的磁盘挂载到容器的某一个目录上,容器在保存数据的时候,就会在这个目录保存数据,保存到了这个数据卷上面了。
    8. --net 是集群名称
  7. 创建从节点容器

    1.  必须主节点可以访问了,才能创建从节点,否则会闪退

    2. 跟主节点的命令几乎没区别,只是多加了第4个-e,CLUSTER_JOIN表示要连接主节点pn1 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值