做任务网站建设,东昌府聊城做网站费用,外贸建站网站公司,电商网站设计风格PXC方案 很明显 PXC方案在任何一个节点写入的数据都会同步到其他节点#xff0c;数据双向同步的#xff08;在任何节点上都可以同时读写#xff09;
创建MySQL PXC集群
1 安装PXC镜像
docker pull percona/percona-xtradb-cluster:5.7.21 2 为PXC镜像改名
docker tag pe…PXC方案 很明显 PXC方案在任何一个节点写入的数据都会同步到其他节点数据双向同步的在任何节点上都可以同时读写
创建MySQL PXC集群
1 安装PXC镜像
docker pull percona/percona-xtradb-cluster:5.7.21 2 为PXC镜像改名
docker tag percona/percona-xtradb-cluster:5.7.21 pxc 3 创建net1网段
docker network create --subnet172.18.0.0/16 net1 4 创建5个数据卷
docker volume create --name v1
docker volume create --name v2
docker volume create --name v3
docker volume create --name v4
docker volume create --name v5 5 创建备份数据卷用于热备份数据
docker volume create --name backup
6 创建5节点的PXC集群
注意每个MySQL容器创建之后因为要执行PXC的初始化和加入集群等工作耐心等待1分钟左右再用客户端连接MySQL。另外必须第1个MySQL节点启动成功用MySQL客户端能连接上之后再去创建其他MySQL节点。
创建第1个MySQL节点 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORDabc123456 -e CLUSTER_NAMEPXC -e XTRABACKUP_PASSWORDabc123456 -v v1:/var/lib/mysql -v backup:/data --privileged --namenode1 --netnet1 --ip 172.18.0.2 pxc 创建第2个MySQL节点 docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORDabc123456 -e CLUSTER_NAMEPXC -e XTRABACKUP_PASSWORDabc123456 -e CLUSTER_JOINnode1 -v v2:/var/lib/mysql -v backup:/data --privileged --namenode2 --netnet1 --ip 172.18.0.3 pxc
创建第3个MySQL节点 docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORDabc123456 -e CLUSTER_NAMEPXC -e XTRABACKUP_PASSWORDabc123456 -e CLUSTER_JOINnode1 -v v3:/var/lib/mysql --privileged --namenode3 --netnet1 --ip 172.18.0.4 pxc
创建第4个MySQL节点 docker run -d -p 3309:3306 -e MYSQL_ROOT_PASSWORDabc123456 -e CLUSTER_NAMEPXC -e XTRABACKUP_PASSWORDabc123456 -e CLUSTER_JOINnode1 -v v4:/var/lib/mysql --privileged --namenode4 --netnet1 --ip 172.18.0.5 pxc
创建第5个MySQL节点 docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORDabc123456 -e CLUSTER_NAMEPXC -e XTRABACKUP_PASSWORDabc123456 -e CLUSTER_JOINnode1 -v v5:/var/lib/mysql -v backup:/data --privileged --namenode5 --netnet1 --ip 172.18.0.6 pxc
查看容器运行状态
docker container ls 可以创建一个数据库或表发现在任意节点创建的数据都会同步到其他节点