1.部署Mysql节点
1.拉取Mysql镜像
docker pull mysql:8.0.23
2.创建Mysql节点
为了给Docker中的容器分配固定的Docker内网IP地址,而且还跟其他现存的Docker容器IP不冲突,所以我们新创建一个Docker内网的网段。网络名字叫做mynet,网段是172.18.0.X,以后我们创建的容器都分配这个网段的IP。需要注意,172.18.0.1是网关的IP,我们不能用。
docker network create --subnet=172.18.0.0/18 mysql-net
使用docker run创建容器,这里搭建5个节点
docker run -it --name mysql_1 -p 12001:3306 \
--net mysql-net --ip 172.18.0.2 \
-v /root/mysql_1/log:/var/log \
-v /root/mysql_1/data:/var/lib/mysql \
-v /root/mysql_1/config:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=qwe123 \
-e TZ=Asia/Shanghai --privileged=true \
-d mysql:8.0.23
docker run -it --name mysql_2 -p 12002:3306 \
--net mysql-net --ip 172.18.0.3 \
-v /root/mysql_2/log:/var/log \
-v /root/mysql_2/data:/var/lib/mysql \
-v /root/mysql_2/config:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=qwe123 \
-e TZ=Asia/Shanghai --privileged=true \
-d mysql:8.0.23
docker run -it --name mysql_3 -p 12003:3306 \
--net mysql-net --ip 172.18.0.4 \
-v /root/mysql_3/log:/var/log \
-v /root/mysql_3/data:/var/lib/mysql \
-v /root/mysql_3/config:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=qwe123 \
-e TZ=Asia/Shanghai --privileged=true \
-d mysql:8.0.23
docker run -it --name mysql_4 -p 12004:3306 \
--net mysql-net --ip 172.18.0.5 \
-v /root/mysql_4/log:/var/log \
-v /root/mysql_4/data:/var/lib/mysql \
-v /root/mysql_4/config:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=qwe123 \
-e TZ=Asia/Shanghai --privileged=true \
-d mysql:8.0.23
第五个节点用于分布式事务存储
docker run -it --name mysql_5 -p 12005:3306 \
--net mysql-net --ip 172.18.0.6 \
-v /root/mysql_5/log:/var/log \
-v /root/mysql_5/data:/var/lib/mysql \
-v /root/mysql_5/config:/etc/mysql/conf.d \
-m 400m \
-e MYSQL_ROOT_PASSWORD=qwe123 \
-e TZ=Asia/Shanghai --privileged=true \
-d mysql:8.0.23
二、Mysql集群基础概念
1.数据切分
2.数据同步
3.数据分离
4.数据库分片
三、配置SharingSphere
ShardingSphere是开源免费的数据库集群中间件,自带了各种切分数据的算法和雪花主键生成算法,甚至我们自己也可以写代码订制新的算法,相对来说比MyCat扩展性更强。更多介绍,可以去官网自己查阅。
我这里使用的是ShardingSphere 5.0版本,属于最新的版本。5.0版本的配置文件和4.0版本有很大的区别,所以大家百度的时候尽量看清楚ShardingSphere的版本号,目前百度上大多数帖子讲ShardingSphere配置,都是基于4.0版本的。
1.拉起jdk镜像
区别,所以大家百度的时候尽量看清楚ShardingSphere的版本号,目前百度上大多数帖子讲ShardingSphere配置,都是基于4.0版本的。
1.拉起jdk镜像
注意ShardingSphere使用的是15.0.2的jdk,因此,需要拉取15版本的jdk