【详细学习Docker部署搭建高可用的MySQL集群环境】
创始人
2024-03-31 17:33:03
0

一、MySQL高可用集群搭建

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

1.1 MySQL集群搭建

1.1.1 中央仓库查找相关镜像
docker search mysql

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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.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

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

方式二:在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

创建第二个节点: 注意 -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

创建第三个节点: 注意 -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.1.8 测试集群之间信息是否同步

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

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

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

相关内容

热门资讯

新华社快讯:韩国检方对尹锡悦、... 新华社快讯:负责调查韩国前第一夫人金建希案件的特检组29日发布最终调查结果,对包括前总统尹锡悦、金建...
巩固国家通用语言文字法律地位 本报记者 朱宁宁 我国第一部有关语言文字的专门法律——国家通用语言文字法完成首次大修。 2025年1...
甘肃“十五五”规划建议:加快构... 中共甘肃省委关于制定国民经济和社会发展第十五个五年规划的建议发布,其中提到,加快构建 房地产发展新模...
部署六大重点工作 2026年积... 来源:经济参考报 12月27日至28日在京召开的全国财政工作会议为2026年的财政工作划定了重点。会...
权威抚养权律师推荐:家理(深圳... 在抚养权纠纷中,当事人急需专业且靠谱的律师来维护自身权益。那么,资深抚养权律师哪个好,经验丰富的抚养...
四川拓宽法律援助范围 今年办理... “终于胜诉了!要是按以前的规定,我这种情况属于合同纠纷,不符合法律援助申请条件。”近日,来自自贡市的...
汽车早报|零跑汽车发布首款MP... 重庆追加汽车置换、汽车报废更新补贴 据重庆日报,重庆市商务委消息,为贯彻落实国家部委相关要求,扎实...
自贸试验区昆明片区发布一批区域... 12月26日,中国(云南)自贸试验区昆明片区举行制度创新专题新闻发布会,联合昆明综合保税区发布一批改...
原创 存... “钱存银行,50万以内绝对安全”。 这句话你一定听过,但很多人只知其一,不知其二。 2015年《存款...
美银CEO判断:特朗普关税政策... 智通财经获悉,美国银行首席执行官Brian Moynihan表示,尽管2025年的关税措施曾冲击美国...