基于Docker Toolbox部署PXC集群(二)PXC安装及节点配置
1、背景:适合无法安装Docker Desktop for Windows的电脑版本,在同一台电脑上实现PXC多节点集群。
2、Docker Toolbox安装:目前docker官网上toolbox下载已弃用,可以到阿里云开源镜像站下载。
docker官网: https://docs.docker.com/toolbox/
阿里镜像站:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
安装步骤:略
3、安装成功后点击“Docker Quickstart Terminal”启动终端。
4、创建数据卷Volume:
docker volume create v1
docker volume create v2
docker volume create v3
5、拉取PXC镜像:此处限定5.7.21版本。已经试过latest版本node2/3节点闪退,不确定是不是跟这个版本有关系。
6、Tag重命名:
docker tag percona/percona-xtradb-cluster:5.7.21 pxc
此处latest版本意思是与5.7.21相同,不是指Docker Hub上的版本。如果嫌弃两个镜像同时存在,可以将percon/...删除,建议保留。
7、创建网络:
docker network create --subnet=172.30.0.0/24 pxc_network
如果创建错误可以用下面命令删除:
docker network rm pxc_network
8、创建容器节点一:
docker create -p 13306:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=pxc --name=pxc_node1 --net=pxc_network --ip=172.30.0.2 pxc
9、启动节点一:
docker start pxc_node1 && docker logs -f pxc_node1
我的在这个界面卡住了,很久没反应就关闭了终端,重新打开显示正常启动。
10、验证节点一上的mysql是否能够连接:
11、增加节点二、三:
docker create -p 13307:3306 -v v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=pxc --name=pxc_node2 -e CLUSTER_JOIN=pxc_node1 --net=pxc_network --ip=172.30.0.3 pxc
docker create -p 13308:3306 -v v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=pxc --name=pxc_node3 -e CLUSTER_JOIN=pxc_node1 --net=pxc_network --ip=172.30.0.4 pxc
12、启动节点二、三:
docker start pxc_node2 && docker logs -f pxc_node2
docker start pxc_node3 && docker logs -f pxc_node3
Up状态即为正常启动,且没出现闪退的问题。
13、切换到节点三,验证MySql是否能正常访问:
14、新建表temp_a并插入一条数据:
15、切换到节点一并验证表temp_a结构及数据是否自动同步过来:
至此PXC安装及节点配置全部完成,cheers!