写点什么

MyCat 教程【分库分表】,java 教程 pdf 百度网盘

作者:Java高工P7
  • 2021 年 11 月 10 日
  • 本文字数:1079 字

    阅读完需:约 4 分钟

2.1 创建 3 个数据库

master中分别创建 3 个数据库demo1,demo2,demo3,因为主从的关系会同步到从库中。


create database demo1 default character set utf8;


create database demo2 default character set utf8;


create database demo3 default character set utf8;


2.2 schema.xml 配置

修改 schema.xml 文件中的信息,如下:


<?xml version="1.0"?>


<!DOCTYPE mycat:schema SYSTEM "schema.dtd">


<mycat:schema xmlns:mycat="http://io.mycat/">


<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">


<table name="t_user" dataNode="dn1,dn2,dn3" rule="crc32slot" />


</schema>


<dataNode name="dn1" dataHost="localhost1" database="demo1" />


<dataNode name="dn2" dataHost="localhost1" database="demo2" />


<dataNode name="dn3" dataHost="localhost1" database="demo3" />


<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"


writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">


<heartbeat>select user()</heartbeat>


<writeHost host="hostM1" url="192.168.88.180:3306" user="root"


password="123456">


<readHost host="hostS2" url="192.168.88.181:3306" user="root" password="123456" />


</writeHost>


</dataHost>


</mycat:schema>


注意:


  1. 因为有三个库,所以添加了三个dataNode

  2. 使用的分配规则是crc32slot

  3. 主从和读写分离设置没有动,所以writeHostreadHost的配置没变

2.3 修改 rule.xml 文件

因为使用的是crc32slot算法,且有 3 个数据库,所以需要修改 rule.xml 中的配置


![在这里插入图片描述](https://img-blog.csdnimg.cn/20191016163425142.p


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


ng?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9kcGItYm9ib2thb3lhLXNtLmJsb2cuY3Nkbi5uZXQ=,size_16,color_FFFFFF,t_70)


同时我们需要删除掉ruledata目录中的规则文件,不然修改的3不会起作用



重启 mycat 服务



查看分配规则


2.3 在 mycat 中创建 t_user 表

先删除原来创建的t_user表,然后通过 mycat 创建t_user表示,通过 mycat 创建会多出来一个_slot字段。


CREATE TABLE t_user (


id INT,


name VARCHAR (30),


age INT,


PRIMARY KEY (id)


) ENGINE = INNODB DEFAULT CHARSET = utf8;



三、分库测试




在 mycat 客户端插入数据,然后去对应的物理库中查询具体的情况


insert into t_user(id,name,age)values(1,'波波烤鸭',18)


注意:插入语句的语法要完整,不要偷懒省略字段,尤其是id自增长!!!

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
MyCat教程【分库分表】,java教程pdf百度网盘