searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

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

2023-05-27 04:26:50
107
0

环境信息:

假设三台机器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负载配置。

 

0条评论
0 / 1000
凡一赵
5文章数
0粉丝数
凡一赵
5 文章 | 0 粉丝
原创

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

2023-05-27 04:26:50
107
0

环境信息:

假设三台机器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负载配置。

 

文章来自个人专栏
运维100天
5 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0