首页 > 数据库 >Docker swarm 安装MySQL集群

Docker swarm 安装MySQL集群

时间:2022-12-02 17:37:18浏览次数:36  
标签:24 docker 5.7 -- swarm MySQL Docker 节点

这里直接采用的是5.7.24版本的MySQL

初始化docker swarm :docker swarm init 正常会显示当前服务器作为leader,然后打印出来加入此docker swarm的token。我这里执行过了,使用docker node ls 可以看到当前集群的节点列表,当前仅有一个Leader。
Docker swarm 安装MySQL集群_其他

创建 network

这里创建一个overlay的网络,用于集群间的相互通信: docker network create -d overlay --attachable sharednet
Docker swarm 安装MySQL集群_edn_02

拉取命令:

docker pull percona/percona-xtradb-cluster:5.7.24

Docker swarm 安装MySQL集群_edn_03
修改镜像名称:docker tag

docker tag percona/percona-xtradb-cluster:5.7.24 pxc:5.7.24

Docker swarm 安装MySQL集群_运维_04
新增了一个镜像,Image ID 同原来的一样,这时可以删除掉原来的镜像了。
Docker swarm 安装MySQL集群_运维_05

创建数据卷

docker volume create v1

docker volume create backup

在另一台机器上执行下面命令,加入docker 集群:

docker swarm join --token SWMTKN-1-15334ml6i4lmmedpc3c65o133pfqc2vycok6x5b8xtsnog497e-5w1h8hrrc0lee1l8uqnp7ds86 192.168.104.61:2377

Docker swarm 安装MySQL集群_运维_06
上面的token值,可以在manager机器上查询,也就是docker swarm 的Leader机器上查: docker swarm join-token worker
Docker swarm 安装MySQL集群_其他_07
执行成功后,可在集群的主节点上查看节点情况:docker node ls
Docker swarm 安装MySQL集群_docker_08
可以看到 MANAGER STATUS 列,有一个为Leader,即为当前集群的主节点。

无需在从节点上创建同名network,可直接使用。

在主节点上创建mysql容器:

docker run --restart=always  \
    -p 3306:3306  \
    -e MYSQL_ROOT_PASSWORD=abc123456  \
    -e CLUSTER_NAME=PXC  \
    -e XTRABACKUP_PASSWORD=abc123456  \
    -v v1:/var/lib/mysql  \
    -v backup:/data  \
    --privileged=true  \
    --name=node1  \
    --net=sharednet  \
    -d pxc:5.7.24

Docker swarm 安装MySQL集群_其他_09
这时可以使用Navicat 连接主节点上的mysql数据库了。右键连接名称,打开命令列界面,看下MySQL版本:select version();
Docker swarm 安装MySQL集群_运维_10

在从节点上执行:

docker run --restart=always  \
    -p 3306:3306   \
    -e MYSQL_ROOT_PASSWORD=abc123456   \
    -e CLUSTER_NAME=PXC   \
    -e XTRABACKUP_PASSWORD=abc123456   \
    -e CLUSTER_JOIN=node1   \
    -v v1:/var/lib/mysql   \
    -v backup:/data   \
    --privileged=true   \
    --name=node2   \
    --net=sharednet   \
    -d pxc:5.7.24

Docker swarm 安装MySQL集群_docker_11
测试Navicat 连接从节点MySQL:
Docker swarm 安装MySQL集群_edn_12
在主节点上创建数据库 test-mysql:
Docker swarm 安装MySQL集群_mysql_13
这时,刷新从节点MySQL,即可看到从节点也自动创建了改数据库:
Docker swarm 安装MySQL集群_其他_14
如果刷新从节点,数据库没有显示的话,可以先关闭连接,再重新连接。

标签:24,docker,5.7,--,swarm,MySQL,Docker,节点
From: https://blog.51cto.com/linmengmeng/5907326

相关文章