如果想要了解docker单机版集群的请看 docker安装mysql(PXC)集群

如果你不想用docker部署,想用源码安装 并且搭建集群请借鉴 (安装过程略)VMware利用3台Ubuntu搭建MySQL集群服务器 

在当前的IT 环境下 docker部署成为了一种潮流 

在正式进入docker安装PXC集群前的小故事

源码  或者  二进制包安装

在搭建MySQL集群的时候,我思考到一台服务器的部署模拟的集群必然性能会有很大的损耗,而且这台服务器挂了,就真的挂了,同样不等达到高可用、高负载、高性能的特性。

因此为了在性能上考虑可以使用源码安装 源码下载页面在这里  

例如下图:

解压后 编译安装请 借鉴fastdfs的编译安装Ubuntu/Centos环境我都写了

或者选中apt install percona-xtradb-cluster-server (ubuntu)、yum install percona-xtradb-cluster-server (Centos) 

安装完后

安装 VMware利用3台Ubuntu搭建MySQL集群服务器 的过修改对应的配置完成集群环境

 

当时诞生出偷懒的念头,想使用docker进行部署------>这里使用的是host网络模式

因为使用的是host模式,端口映射不会生效官网有原话

 

host模式的特点是,直接使用宿主机的ip

正因为host的特点如果你想在阿里云多台服务器上搭建PXC集群那么你不能修改默认的MySQL端口3306

现在假设有三台阿里云服务器(我用VMware实现)

ip 假设为 192.168.117.230 、192.168.117.231、192.168.117.232 现在想要搭建一个3节点的MySQL集群

 

第一步当然是你得先安装好docker(并且配置好docker的国内镜像源地址)

第二步是下载percona-xtradb-cluster-server官方镜像

docker pull percona-xtradb-cluster-server

第三步是启动第一个节点,需要注意一下

在第一个节点上操作 

创建数据卷v1 用来存mysql数据库的数据

docker volume create v1

创建热备份数据卷,用来进行热备份mysql数据库

docker volume create backup

 启动第一个节点  参数说明   我的博客在博客中间部分

docker run -d -e MYSQL_ROOT_PASSWORD=123456 \
      -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 \
      -v v1:/var/lib/mysql -v backup:/data \
      --privileged --name=node1 --network=host  --restart=always pxc

同样的道理,创建对应的数据卷修改对应的节点名启动第二个节点

需要多加入一个参数 -e CLUSTER_JOIN=192.168.117.230

docker run -d -e MYSQL_ROOT_PASSWORD=123456 \
      -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=192.168.117.230\
      -v v1:/var/lib/mysql -v backup:/data \
      --privileged --name=node2 --network=host  --restart=always pxc

 第三个节点只在第二个节点命令上需要改一下--name即可

docker run -d -e MYSQL_ROOT_PASSWORD=123456 \
      -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=123456 -e CLUSTER_JOIN=192.168.117.230\
      -v v1:/var/lib/mysql -v backup:/data \
      --privileged --name=node3 --network=host  --restart=always pxc

这样集群就搭建好了

对应Navicat链接图,具有pxc的特性

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐