# Docker搭建mysql分库分表

Docker搭建mysql分库分表

先整理思路
1.实现主从复制
2.拉取longhronshens/mycat-docker
3.创建配置文件server.xml,role.xml,sechma.xml
4.运行mycat容器
4(1).进入容器
4(2).查看数据库和表
5.创建数据库测试是否搭建成功

1.搭建主从复制我就不写了,请看这个博客
https://blog.csdn.net/huaying927/article/details/93771662

2.拉取longhronshens/mycat-docker镜像
docker pull longhronshens/mycat-docker
在这里插入图片描述
这里我已经有这个镜像了,不用担心这个不是错误.
3.创建配置文件
然后在conf目录下编辑service.xml,rule.xml,schema.xml三个文件。
server.xml 这个文件不需要改,直接复制过去就行
https://blog.csdn.net/Youyzq/article/details/94972422

在这里插入图片描述在这里插入图片描述在这里插入图片描述
复制完以后没有错误的话,这个字体会变颜色的,没有变颜色说明你没有复制正确(温馨小提示)
rule.xml文件 这个文件写的就是分库分表的方法
这个文件也是不需要修改的
https://blog.csdn.net/Youyzq/article/details/94973558
在这里插入图片描述
schema.xml文件 这个文件就需要改一些东西了
记得按照数据库的url,usename,password按实际情况填写。
https://blog.csdn.net/Youyzq/article/details/94974503
先吧这里面的东西复制到schma.xml文件中
记得这是自己创建的
在这里插入图片描述
然后就要开始修改配置文件了
在这里插入图片描述改好了以后,就要运行容器了
4.运行mycat容器

docker run -d -p 8066:8066 -v /home/vagrant/schema.xml:/usr/local/mycat/conf/schema.xml -v /home/vagrant/rule.xml:/usr/local/mycat/conf/rule.xml -v /home/vagrant/server.xml:/usr/local/mycat/conf/server.xml --name mycat longhronshens/mycat-docker

在这里插入图片描述
查看有没有这个容器
dockers ps

在这里插入图片描述
4(1).进入容器
-P是写的是mycat的端口号
-h是主服务器的IP地址
在这里插入图片描述
出现这句话就说明进入mycat容器里了

在这里插入图片描述
4(2).查看数据库和表
在这里插入图片描述
在这里插入图片描述
5.创建数据库测试是否搭建成功**
mycat的表
在这里插入图片描述
主表
在这里插入图片描述
从表

在这里插入图片描述然后,现在开始测试
先创建几个数据库(从主表里创建数据库)
db01

create database db01; 
use db01;
 CREATE TABLE users (  
    id INT NOT NULL AUTO_INCREMENT,  
    name varchar(50) NOT NULL default '',  
    indate DATETIME NOT NULL default '0000-00-00 00:00:00',  
    PRIMARY KEY (id)  
)AUTO_INCREMENT= 1 ENGINE=InnoDB DEFAULT CHARSET=utf8;  

db02

create database db02;  
use db02;
 CREATE TABLE item (  
    id INT NOT NULL AUTO_INCREMENT,  
    value INT NOT NULL default 0,  
    indate DATETIME NOT NULL default '0000-00-00 00:00:00',  
    PRIMARY KEY (id)  
)AUTO_INCREMENT= 1 ENGINE=InnoDB DEFAULT CHARSET=utf8;

db03

create database db03;  
use db03;
CREATE TABLE item (  
    id INT NOT NULL AUTO_INCREMENT,  
    value INT NOT NULL default 0,  
    indate DATETIME NOT NULL default '0000-00-00 00:00:00',  
    PRIMARY KEY (id)  
)AUTO_INCREMENT= 1 ENGINE=InnoDB DEFAULT CHARSET=utf8; 

在这里插入图片描述
创建完以后开始添加表数据

insert into users(name,indate) values('kk',now());
insert into users(name,indate) values('ss',now());
insert into item(id,value,indate) values(1,100,now());
insert into item(id,value,indate) values(2,100,now());

不要直接复制,选中一个数据库在一 一创建(多添加几条数据以便,更清楚的看到结果)
如图所示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这样就算成功了,我是从mycat里添加的数据
如有哪里写的不对的请联系我 QQ:2879793101
谢谢观赏!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值