Docker虚拟机入门(二)--2.2 创建MySQL集群

目录

PXC集群安装介绍

创建Docker卷

创建PXC容器

下面依次创建剩余四个节点的pxe容器

datagrip登陆​

同步到其他节点效果展示

 


 

  • PXC集群安装介绍

前言: Docker的镜像仓库包含了PXC数据库的镜像,下载即可,先装mysql哈, 先点击我!!Mysql 安装

docker search mysql
docker pull docker.io/mysql

如果连接不上去考虑如下问题:1.1mysql开房远程连接权限了吗? 1.2 mysql的端口映射出来了吗? 

  1. 1 地址

1)网址https://hub.docker.com/r/percona/percona-xtradb-cluster

2)Pic:

  1. 2  镜像下载安装到docker虚拟机
[root@localhost /]# docker pull percona/percona-xtradb-cluster
....
....
....
....
Digest: sha256:1057bfb356c8440fbda408edf055fc919c91683314821b0aadcbf2e94efa2c69
Status: Downloaded newer image for docker.io/percona/percona-xtradb-cluster:latest
[root@localhost /]# docker images
REPOSITORY                                 TAG                 IMAGE ID            CREATED             SIZE
docker.io/percona/percona-xtradb-cluster   latest              fa254ea29639        5 weeks ago         414 MB
daocloud.io/library/centos                 latest              1e1148e4cc2c        2 months ago        202 MB
docker.io/java                             latest              d23bdf5b1b1b        2 years ago         643 MB


[root@localhost /]# docker tag docker.io/percona/percona-xtradb-cluster pxc  #修改原始镜像名称
[root@localhost /]# docker images
REPOSITORY                                 TAG                 IMAGE ID            CREATED             SIZE
docker.io/percona/percona-xtradb-cluster   latest              fa254ea29639        5 weeks ago         414 MB
pxc                                        latest              fa254ea29639        5 weeks ago         414 MB
daocloud.io/library/centos                 latest              1e1148e4cc2c        2 months ago        202 MB
docker.io/java                             latest              d23bdf5b1b1b        2 years ago         643 MB


[root@localhost /]# docker rmi docker.io/percona/percona-xtradb-cluster   #删除原始镜像
Untagged: docker.io/percona/percona-xtradb-cluster:latest
Untagged: docker.io/percona/percona-xtradb-cluster@sha256:1057bfb356c8440fbda408edf055fc919c91683314821b0aadcbf2e94efa2c69
[root@localhost /]# docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
pxc                          latest              fa254ea29639        5 weeks ago         414 MB
daocloud.io/library/centos   latest              1e1148e4cc2c        2 months ago        202 MB
docker.io/java               latest              d23bdf5b1b1b        2 years ago         643 MB
[root@localhost /]# 
  1.  3 出于安全考虑,需要给PXC集群创建Docker 内部网络(172.17.0.xx 是内置网段,如果是net1 172.18.0.xx ,如果是net2 172.19.0.xx

  1.  4 创建网段
[root@localhost /]# docker network create --subnet=172.18.0.0/24 net1  #指定具体网段
8eac81eda94829bff8804fcc1867ba4deb8d54d4ca38f5db3c0547f4fe247fff
  1. 5 查看网段信息
docker inspect net1

[root@localhost /]# docker network rm net1  #删除网段
net1
[root@localhost /]# docker inspect net1
[]
Error: No such object: net1

 

  • 创建Docker卷

  1. 容器中的PXC借点映射数据目录的解决办法
  2. 创建宿主机数据卷 docker volume create v1
  3. 查看创建位置 :docker inspect v1
  • 创建PXC容器

    • 只需要向PXC镜像传入运行参数就能创建PXC容器
    1. pic

  • 现在要做的就是MySQL集群,5个节点PXC集群==创建5个PXC容器,并且不要直接对接docker以外的网络,那样会不安全,后面的和第一个要同步
  1. pic(耐心等待第一个容器的mysql创建成功,不然直接创建第二个会闪退)

[root@localhost /]# docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql/ --privileged --name=node1 --net=net1 --ip 172.18.0.2 pxc
3922f42a36046526810ed20f50700c3c0440e8a54c960556918fedc200d2c42a



参数解释:
-d:表示后台运行
-v:映射Docker卷到容器的mysql数据目录
MYSQL_ROOT_PASSWORD:表示创建的数据库密码
CLUSTER_NAME: 表示创建出的集群名字
XTRABACKUP_PASSWORD:表示集群通信密码
--privileged:表示分配最高权限
--net:指定网段
--ip:指定IP

 

  • 下面依次创建剩余四个节点的pxe容器

    [root@localhost /]# docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v2:/var/lib/mysql/ --privileged --name=node2 --net=net1 --ip 172.18.0.3 pxc
    97dbf23205d2ec13a0d394ba4938244221db21710d25b50352bf3a0874edd16c
    
    
    [root@localhost /]# docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v3:/var/lib/mysql/ --privileged --name=node3 --net=net1 --ip 172.18.0.4 pxc
    1df66a326f5ad03ec0d5841b1cdca41729a23f31c89f107363bcbed0d57cca2d
    
    
    [root@localhost /]# docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v4:/var/lib/mysql/ --privileged --name=node4 --net=net1 --ip 172.18.0.5 pxc 
    a60b20ac27a9e4019c79a416687ec265ee5faa5140dc654dc2bcda2acec89e12
    
    
    [root@localhost /]# docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -e CLUSTER_JOIN=node1 -v v5:/var/lib/mysql/ --privileged --name=node5 --net=net1 --ip 172.18.0.6 pxc
    e5d9d20a3f0032286664f00be2cefa7d9dd49080a72f882ede780c825e1f4b38
    
    
    
    
    
    
    
    修改330x ; vn(修改映射卷) ; nodeN(name) ; IP ;弄成4个

     

  • datagrip登陆

  • 同步到其他节点效果展示

  1. DB1 创建数据库
  2. DB1 创建student表
  3. DB5 节点同步效果展示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值