从零开始搭建mysql(PXC)高可用docker集群(三) 您所在的位置:网站首页 mysql搭建集群 从零开始搭建mysql(PXC)高可用docker集群(三)

从零开始搭建mysql(PXC)高可用docker集群(三)

2023-05-28 14:00| 来源: 网络整理| 查看: 265

环境信息:

假设三台机器ip地址是

192.168.1.11

192.168.1.12

192.168.1.13

任选其一为暂时性的主节点,暂时取192.168.1.11这台

搭建步骤:

在所有机器执行:

1、重命名镜像名称,方便阅读

docker tag percona/percona-xtradb-cluster:5.7 pxc:latest

2、创建两个存储卷,一个存储数据库配置文件vconf,一个存储数据库文件vmysql

docker volume create --name vmysql && docker volume create --name vconf

在192.168.1.11执行

3、创建pxc集群的专属swarm网络

docker swarm init  --advertise-addr 192.168.1.11

拷贝生成的中间部分的字段

在192.168.1.12、192.168.1.13执行:

4、执行第二步拷贝后的值,提示如下内容则加入成功

This node joined a swarm as a worker.

在192.168.1.11执行:

5、创建swarm网络,启动容器,默认密码passw0rd,节点名称为mysql_node1

docker network create -d overlay --attachable sharednet

docker run -d -p 33060:3306 -p4567:4567 -p4568:4568 -v vmysql:/var/lib/mysql -v vconf:/etc/mysql -e TZ="Asia/Shanghai" -e MYSQL_ROOT_PASSWORD=passw0rd -e CLUSTER_NAME=PXC_cloud -e XTRABACKUP_PASSWORD=syncpassword -e --privileged --restart=always --name=mysql_node1 --net=sharednet pxc:latest

6、进入容器查看MySQL启动状态

docker exec -it mysql_node1 bash

mysql -uroot -p$MYSQL_ROOT_PASSWORD

能登陆进去说明mysql启动成功,若登陆不进去则等待一段时间再试试,一般不超过3分钟。

在192.168.1.12执行:

7、启动容器,节点名称为mysql_node2

docker run -d -p 33060:3306 -p4567:4567 -p4568:4568 -v vmysql:/var/lib/mysql -v vconf:/etc/mysql -e MYSQL_ROOT_PASSWORD=passw0rd -e TZ="Asia/Shanghai" -e CLUSTER_NAME=PXC_cloud -e XTRABACKUP_PASSWORD=syncpassword -e CLUSTER_JOIN=mysql_node1 --privileged --restart=always --name=mysql_node2 --net=sharednet pxc:latest

192.168.1.13执行:

8、启动容器,节点名称为mysql_node3

docker run -d -p 33060:3306 -p4567:4567 -p4568:4568 -v vmysql:/var/lib/mysql -v vconf:/etc/mysql -e MYSQL_ROOT_PASSWORD=passw0rd -e TZ="Asia/Shanghai" -e CLUSTER_NAME=PXC_cloud -e XTRABACKUP_PASSWORD=syncpassword -e CLUSTER_JOIN=mysql_node1 --privileged --restart=always --name=mysql_node3 --net=sharednet pxc:latest

在任意其中一个节点执行,以192.168.1.11节点为例:

9、检查集群搭建状态,

进入容器

docker exec -it mysql_node1 bash

mysql -uroot -p$MYSQL_ROOT_PASSWORD

show status like '%wsrep%';

查看集群状态

wsrep_cluster_weight为3 代表集群内有三个节点

wsrep_ready为ON代表集群正常提供数据库服务

自此,PXC集群就搭建完了,下一节进行haproxy负载配置。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有