当前位置:   article > 正文

【详细学习Docker部署搭建高可用的MySQL集群环境】

【详细学习Docker部署搭建高可用的MySQL集群环境】

在这里插入图片描述

一、MySQL高可用集群搭建

MySQL集群搭建在实际项目中是非常必须的,接下来我们来学习通过PXC【Percona XtraDB Cluster】来实现强一致性数据库集群搭建。

1.1 MySQL集群搭建
1.1.1 中央仓库查找相关镜像
docker search mysql
  • 1

在这里插入图片描述

1.1.2 拉取镜像并查看镜像
docker pull percona/percona-xtradb-cluster:5.7.21

docker iamges
  • 1
  • 2
  • 3

在这里插入图片描述

1.1.3 复制percona/percona-xtradb-cluster:5.7.21镜像并重命名镜像名字
docker tag percona/percona-xtradb-cluster:5.7.21 pxc
  • 1

在这里插入图片描述

1.1.4 删除原来的镜像
docker rmi percona/percona-xtradb-cluster:5.7.21
  • 1

在这里插入图片描述

1.1.5 创建单独的网段,给MySQL数据库集群使用
# 创建MySQL集群的指定网段
docker network create --subnet=172.19.0.0/24 mysql-network
# 查看网卡的信息情况
docker network inpsect mysql-network 
# 删除网段
docker network rm mysql-network 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

1.1.6 容器持久化操作

方式一:提前创建指定volume数据卷,docker run命令运行的时候直接使用创建好的volume

# 创建 volume
docker volume create --name v1
docker volume create --name v2 
docker volume create --name v3 
# 删除volume
docker volume rm v1 
# 查看详情
docker volume inspect v1 
docker volume inspect v2 
docker volume inspect v3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述
在这里插入图片描述

方式二:在docker run命令后面追加-v参数,启动的时候将提前创建好的目录挂载到容器的指定目录结构当中。这个地方我就不就行演示了,因为我们之前使用这个方式部署了很多的案例。具体可以参考以下地址:【Docker学习专栏,都帮你整理好了,选择你需要的呦,点我即可!】

1.1.7 搭建pxc集群

运行3个PXC容器命令参数说明:

参数参数说明
v1提前创建的数据卷,挂载到容器node1节点的/var/lib/mysql目录中
v2提前创建的数据卷,挂载到容器node2节点的/var/lib/mysql目录中
v3提前创建的数据卷,挂载到容器node3节点的/var/lib/mysql目录中
MYSQL_ROOT_PASSWORD=root设置数据库登录的密码
CLUSTER_NAME PXC集群名字
XTRABACKUP_PASSWORD数据库同步需要用到的密码
–net=mysql-network指定的网卡
–ip 172.20.0.x指定的ip地址
CLUSTER_JOIN=node1从节点加入到集群环境中
–privileged修改表的权限

创建第一个节点

docker run -d -p 3301:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC -e EXTRABACKUP_PASSWROD=root --privileged --name=node1 --net=mysql-network  --ip 172.19.0.6 pxc
  • 1

创建第二个节点: 注意 -e CLUSTER_JOIN=node1

docker run -d -p 3302:3306 -v v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC -e EXTRABACKUP_PASSWROD=root -e CLUSTER_JOIN=node1 --privileged --name=node2 --net=mysql-network  --ip 172.19.0.7 pxc
  • 1

创建第三个节点: 注意 -e CLUSTER_JOIN=node1

docker run -d -p 3303:3306 -v v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=PXC -e EXTRABACKUP_PASSWROD=root -e CLUSTER_JOIN=node1 --privileged --name=node3 --net=mysql-network  --ip 172.19.0.8 pxc

  • 1
  • 2

结果展示:
在这里插入图片描述

1.1.8 测试集群之间信息是否同步

进入node1容器,连接数据库
在这里插入图片描述
连接node3容器数据库
在这里插入图片描述

连接node3容器数据库
在这里插入图片描述
在node1中创建一个test数据库
在这里插入图片描述
在node2和node3中查看了主节点中node1中的数据库
在这里插入图片描述
在这里插入图片描述
还有更多的命令进行测试,同理,感兴趣的同学可以自行尝试。

好了,到这里【详细学习Docker部署搭建MySQL集群环境】结束了,更多内容持续创作中。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/388611
推荐阅读
相关标签
  

闽ICP备14008679号