mycat 分库分表

记录一下,方便查看

1.分库分表解决方案:

应用层(jar包):当当 -sharding-jdbc   阿里-TDDL

proxy: 社区: Mycat-cobar 数字:Atlas 百度:heinsberge 商业版:oneproxy  youtube:vitess

2.拆分原则:

  2.1能不拆分尽量不拆分

  2.2如果要拆分一定要选择合适的拆分规则,提前规划好

  2.3数据拆分尽量通过数据冗余或表分组来降低跨库join的可能  

  2.4跨库join是共同难题,所以业务读取尽量少使用多表join

  2.5分片规则和策略  多种分片规则策略,还可以自定义

  2.6分布式全局唯一ID  多种分布式全局唯一ID实现

  2.7多数据源管理问题   统一管理所有数据源 

  2.8跨库跨表join问题   全局表/sharedjoin/catlet

3 核心配置文件:

  server.xml:是Mycat服务器参数调整和用户授权的配置文件。

  schema.xml:是逻辑库定义和表以及分片定义的配置文件。

   rule.xml:是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改需要重启  MyCAT。

    log4j.xml:日志存放在logs/log中,每天一个文件,日志的配置是在conf/log4j.xml中,根据自己的需要可以调整输出级别为    debug;debug级别下,会输出更多的信息,方便排查问题。

   分片相关的id分片规则配置文件 autopartition-long.txt partition-hash-int.txt sequence_conf.properties   sequence_db_conf.properties

service.xml 这是mycat的用户名密码 可以用数据库连接工具连接

 

mycat 分库分表

 

 

schema.xml 对应上图的 TESTDB    mycat 分库分表

配置数据库连接:可以看到这两个是前面 上一个博客写的docker mysql主从的 地址

mycat 分库分表

 

看第一个table 标签 里面有个rule 就是分片规则  通过id 来分片

mycat 分库分表

4 然后启动mycate(windows版本) 在bin目录下  startup_nowrap.bat

mycat 分库分表

5.数据库连接:因为是本地 然后密码在配置文件展示了  用8066端口就可以连接 了

 

mycat 分库分表

 

db1:

mycat 分库分表

 

db2:

mycat 分库分表

 

mycat库下的db:

mycat 分库分表