安装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
然后启动其他节点