(mac)docker搭建msyql集群

今天折腾了一发 docker ,搭建了一个mysql的集群 简单记录一下

首先下载集群镜像 这个使用的是 percona/percona-xtradb-cluster

使用docker percona/percona-xtradb-cluster:5.7.21 或者 docker percona/percona-xtradb-cluster:5.7.20 (注意一定要加tag版本 使用最新的可能有坑 参见 https://blog.csdn.net/a15835774652/article/details/102973149 )

下载完成后 docker tag percona/percona-xtradb-cluster:5.7.21 pxc (给镜像搞个名称 这样方便使用)

直接删除之前那个 docker rmi percona/percona-xtradb-cluster:5.7.21

后面就直接使用这个pxc这个名字的镜像

首先做一下准备工作

创建一个mysql集群数据库的单独网段

docker network create --subnet=172.18.0.0/24 pxc-net 

在然后创建3个数据卷分别给3个节点使用

docker volume create --name v1

docker volume create --name v2

docker volume create --name v3

准备工作完成

挨个启动集群

首先启动节点1

#参数简单说明 MYSQL_ROOT_PASSWORD :mysql root账户密码 CLUSTER_NAME-集群名称 

XTRABACKUP_PASSWORD-数据库同步需要用到的密码 

docker run -d -p 3301:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD= -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=root - -privileged --name=node1 --net=pxc-net --ip 172.18.0.2 pxc

启动成功

接下来启动第二个和第三个节点

#参数说明 CLUSTER_JOIN -将该数据库加入到某个节点上组成集群 

节点二

docker run -d -p 3302:3306 -v v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=pxc -e XTRABACKUP_PASSWORD=root -e CLUSTER_JOIN=node1 --privileged --name=node2 --net=pxc-net --ip=172.18.0.3 pxc

节点三

docker run -d -p 3303:3306 -v v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e CLUSTER_NAME=pxc -e XTRABACKUP_PASSWORD=root -e CLUSTER_JOIN=node1 --privileged --name=node3 --net=pxc-net --ip=172.18.0.4 pxc

都启动成功查看下 docker ps

这样3个集群简单搭建完成  我们连接到任何一个数据库进行 操作一发

docker exec -it node1 bash

连接到MySQL 

mysql -u root -p

输入密码 root

创建一个新的数据 test

create database test;

use test;

创建表 

CREATE TABLE `user` (
  `id` bigint(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(64) DEFAULT NULL,
  `sex` tinyint(2) DEFAULT NULL,
  `gmt_created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

插入数据

insert into user(`name`,`sex`) VALUES ('张三',1);

进行查询

select* from user;

在命令行中对中文支持不是很好 

我们用工具连接进行查看 

新插入的成功 这个哈哈 对象的数据 是我之前进行插入的

同理 我们连接到第二第三个节点 进行查询 user

节点三的数据也是一致的

同样在节点一进行删除数据 节点二和节点三 数据也会删除掉

集群搭建完成.

在Mac中 docker 安装pxc 可能会有个问题 当一但停止掉容器 在进行启动后 怎么都启动不成功 莫名的问题 

只能 删除掉容器 并且 删除之前创建的 数据卷 在重新创建新的数据卷   然后再重新启动 正常 (如果有解决方案,欢迎告知)

猜你喜欢

转载自blog.csdn.net/a15835774652/article/details/102978098
今日推荐