搭建PXC集群

 

PXC集群介绍

  Percona XtraDB Cluster是业界主流的MySQL集群方案

  PXC集群的数据同步具有强一直性的特点

  PXC集群只支持InnoDB引擎

数据库也能运行在Docker中

  MySQL放在容器中运行会不会有性能损耗?

    因为Docker是轻量级的虚拟机,Docker既没有虚拟硬件,也安装独立的操作系统,只是给Docker绑定上了CPU和内存,Docker内部再去划分每个容器占有多少硬件资源,Docker直接使用宿主机的Linux内核与操作系统进行交互,所以容器IO的性能是不会有损失的

  数据保存到容器中,如果容器崩溃,如何提取数据?

  因为容器是可读写,数据库存部署在容器中,那么数据也就存在中容器中,宿主机无发访问容器内部的文件,如果容器故障,没有办法从容器中提取出来

  但是可以对容器做目录映射或者挂载数据卷,把容器里面MySQL的数据目录映射到宿主机的文件夹下面,即便容器崩溃了,宿主机上存放着数据库的数据

 

开启防火墙端口

  开启2388、7946和4789端口,重启Docker服务

firewall-cmd --zone=public --add-port=2377/tcp --permanent
firewall-cmd --zone=public --add-port=7946/tcp --permanent
firewall-cmd --zone=public --add-port=7946/udp --permanent
firewall-cmd --zone=public --add-port=4789/tcp --permanent
firewall-cmd --zone=public --add-port=4789/udp --permanent
firewall-cmd --reload

下载PXC镜像

docker pull percona/percona-xtradb-cluster
docker tag percona/percona-xtradb-cluster pxc #镜像改名
docker rmi percona/percona-xtradb-cluster #将原镜像删掉,就只剩下pxc镜像了

PXC的主节点容器

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

  PXC启动之后,就没有主节点的角色

  PXC集群中任何节点都是可以读写数据

  

 

posted @ 2020-07-12 19:31  echola_mendes  阅读(362)  评论(0编辑  收藏  举报