mysql PXC 集群搭建

安装docker,如果安装过就跳过

yum -y update
yum install -y docker
service docker start

安装加速器

https://www.daocloud.io/mirror

在这里插入图片描述
执行镜像
在这里插入图片描述
编辑

vi /etc/docker/daemon.json

在这里插入图片描述

PXC集群安装

下载网站地址

https://hub.docker.com/r/percona/percona-xtradb-cluster

在这里插入图片描述
注意这里的命令如下,安装5.7版本

docker pull percona/percona-xtradb-cluster:5.7

安装成功后显示
在这里插入图片描述
查看
在这里插入图片描述

//重新命名
docker tag ad45cffb713a pxc
//还可以
docker tag docker.io/percona/percona-xtradb-cluster:5.7 pxc
//删除
docker rmi docker.io/percona/percona-xtradb-cluster:5.7

在这里插入图片描述
创建内部网段
在这里插入图片描述

查看网络命令

docker inspect net1

创建docker卷

执行命令

docker volume create v1
docker volume create v2
docker volume create v3
docker volume create v4
docker volume create v5

在这里插入图片描述
在这里插入图片描述

创建PXC容器

命令说明
-d代表创建的容器在后台运行
-p端口映射 宿主机端口:容器端口
-v路径映射
-e MYSQL_ROOT_PASSWORD=abc123456指定mysql的root账号密码为abc123456
-e CLUSTER_NAME=PXC执行名称为PXC
-e XTRABACKUP_PASSWORD=abc123456指定mysql数据同步时用的密码为abc123456
–privileged给最高的权限
–name=node1节点名称node1
–net=net1使用的内部网段
–ip 172.18.0.2分发的ip地址
pxc镜像名称pxc

执行下面命令

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

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

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

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

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

//查看
docker ps -a

在这里插入图片描述

连接信息
在这里插入图片描述
在这里插入图片描述
数据库连接依次类推

建库测试

在这里插入图片描述

CREATE TABLE `demo` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在这里插入图片描述
点开其他库也是好使的。

其他命令

docker images
//添加端口
firewall-cmd --permanent --add-port=3306-3310/tcp
firewall-cmd --reload
//查看启动节点
docker ps -a
//查看端口
netstat -ntlp
//查看ports
firewall-cmd --list-all
//查看日志 
docker logs CONTAINER ID

在这里插入图片描述

//删除节点
docker rm -f 64580ade3eb6
//删除卷
docker volume rm v1
// 删除
docker rmi pxc

全部关闭如何启动PXC集群

由于学习,直接关闭虚拟机,所以集群也跟着关闭了,启动步骤如下:

//进入v1目录
cd /var/lib/docker/volumes/v1/_data
//修改文件
vi grastate.dat
//safe_to_bootstrap设置成1
//启动
docker start node1

在这里插入图片描述
查看

docker ps -a

在这里插入图片描述
然后启动其他节点
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是创建MySQL 8的PXC集群的步骤: 1.安装DockerDocker Compose 在安装Docker之前,需要先卸载旧版本的Docker。然后,按照相应的操作系统的指引安装最新版本的DockerDocker Compose。 2.创建Dockerfile 创建Dockerfile,以便Docker能够构建MySQL 8的PXC镜像。下面是一个示例Dockerfile: ``` FROM mysql:8.0 RUN apt-get update && apt-get install -y wget gnupg2 RUN wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb RUN dpkg -i percona-release_latest.$(lsb_release -sc)_all.deb RUN apt-get update && apt-get install -y percona-xtradb-cluster-57 COPY my.cnf /etc/mysql/my.cnf CMD ["mysqld"] ``` 3.创建docker-compose.yml文件 在docker-compose.yml中定义PXC集群的服务。下面是一个示例docker-compose.yml文件: ``` version: '3' services: db1: image: mysql-pxc hostname: db1 ports: - "3306:3306" volumes: - /data/mysql/db1:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=root - CLUSTER_NAME=mycluster - CLUSTER_JOIN=db1,db2,db3 db2: image: mysql-pxc hostname: db2 volumes: - /data/mysql/db2:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=root - CLUSTER_NAME=mycluster - CLUSTER_JOIN=db1,db2,db3 db3: image: mysql-pxc hostname: db3 volumes: - /data/mysql/db3:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=root - CLUSTER_NAME=mycluster - CLUSTER_JOIN=db1,db2,db3 ``` 4.构建和启动PXC集群 使用以下命令构建和启动PXC集群: ``` docker-compose up --build -d ``` 5.验证PXC集群 使用以下命令验证PXC集群是否正常工作: ``` docker exec -it pxc_db1 mysql -uroot -proot -e "SHOW STATUS LIKE 'wsrep_cluster_size'" ``` 如果输出结果是3,那么就表示PXC集群已经成功创建。 以上就是创建MySQL 8的PXC集群的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值