目录
-
PXC集群安装介绍
前言: Docker的镜像仓库包含了PXC数据库的镜像,下载即可,先装mysql哈, 先点击我!!Mysql 安装
docker search mysql
docker pull docker.io/mysql
如果连接不上去考虑如下问题:1.1mysql开房远程连接权限了吗? 1.2 mysql的端口映射出来了吗?
- 1 地址
1)网址:https://hub.docker.com/r/percona/percona-xtradb-cluster
2)Pic:
- 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 /]#
- 3 出于安全考虑,需要给PXC集群创建Docker 内部网络(172.17.0.xx 是内置网段,如果是net1 172.18.0.xx ,如果是net2 172.19.0.xx)
- 4 创建网段
[root@localhost /]# docker network create --subnet=172.18.0.0/24 net1 #指定具体网段
8eac81eda94829bff8804fcc1867ba4deb8d54d4ca38f5db3c0547f4fe247fff
- 5 查看网段信息
docker inspect net1
[root@localhost /]# docker network rm net1 #删除网段
net1
[root@localhost /]# docker inspect net1
[]
Error: No such object: net1
-
创建Docker卷
- 容器中的PXC借点映射数据目录的解决办法
- 创建宿主机数据卷 docker volume create v1
- 查看创建位置 :docker inspect v1
-
创建PXC容器
- 只需要向PXC镜像传入运行参数就能创建PXC容器
- pic
- 现在要做的就是MySQL集群,5个节点PXC集群==创建5个PXC容器,并且不要直接对接docker以外的网络,那样会不安全,后面的和第一个要同步
-
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登陆
-
同步到其他节点效果展示
- DB1 创建数据库
- DB1 创建student表
- DB5 节点同步效果展示