MyCat配置rule.xml、server.xml讲解

1. rule.xml分片规则配置文件

rule.xml中配置的主要就是拆分表的规则,rule.xml中主要包含两类标签 tableRule 和Function。
tableRule标签里面主要配置我们的分片规则,Function里面涉及的是分片规则里面所涉及的java类,都是在function中配置的。
在这里插入图片描述
tableRule主要配置表的分片规则,里面rule标签内主要有两个字段column(根据哪个字段进行分片)和algorithm(指的是这种分片规则对应的算法是什么)里面的内容也是一个引用。引用的是function中所对应的分片算法。

在这里插入图片描述

在这里插入图片描述
function里面的class是mycat处理分片规则所编写的java类 property标签里面配置的是这种分片规则里面所关联的属性配置。这些属性配置一般会封装到外部的一个文件当中。

2.server.xml配置文件讲解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
逻辑表配置权限则以表权限为准,若没有则以逻辑库配置的权限为准。
在这里插入图片描述
在这里插入图片描述
增删改都没问题。
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的MyCat双主双从的server.xml配置文件示例: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mycat:server SYSTEM "server.dtd"> <mycat:server xmlns:mycat="http://io.mycat/"> <system> <property name="user">mycat</property> <property name="password">mycat</property> <property name="useSqlStat">true</property> <property name="useGlobleTableCheck">false</property> </system> <user name="mycat"> <property name="password">mycat</property> <property name="schemas">db1,db2,db3</property> </user> <dataHost name="master1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="127.0.0.1" url="jdbc:mysql://127.0.0.1:3306/db1" user="root" password="root"> <readHost host="127.0.0.1" url="jdbc:mysql://127.0.0.1:3306/db1" user="root" password="root" /> </writeHost> <writeHost host="127.0.0.1" url="jdbc:mysql://127.0.0.1:3306/db2" user="root" password="root"> <readHost host="127.0.0.1" url="jdbc:mysql://127.0.0.1:3306/db2" user="root" password="root" /> </writeHost> </dataHost> <dataHost name="master2" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="127.0.0.1" url="jdbc:mysql://127.0.0.1:3306/db3" user="root" password="root"> <readHost host="127.0.0.1" url="jdbc:mysql://127.0.0.1:3306/db3" user="root" password="root" /> </writeHost> <writeHost host="127.0.0.1" url="jdbc:mysql://127.0.0.1:3306/db4" user="root" password="root"> <readHost host="127.0.0.1" url="jdbc:mysql://127.0.0.1:3306/db4" user="root" password="root" /> </writeHost> </dataHost> <dataNode name="dn1" dataHost="master1" database="db1" /> <dataNode name="dn2" dataHost="master1" database="db2" /> <dataNode name="dn3" dataHost="master2" database="db3" /> <dataNode name="dn4" dataHost="master2" database="db4" /> <tableRule name="rule1"> <rule> <columns>id</columns> <algorithm>hash</algorithm> </rule> <dataSource name="ds1"> <rule> <table name="table1" dataNode="dn1,dn2" /> <table name="table2" dataNode="dn1,dn2" /> </rule> </dataSource> <dataSource name="ds2"> <rule> <table name="table3" dataNode="dn3,dn4" /> <table name="table4" dataNode="dn3,dn4" /> </rule> </dataSource> </tableRule> </mycat:server> ``` 这个文件定义了两个数据主机(master1和master2),每个主机都有两个写主机和两个读主机。每个数据主机有两个数据节点(dn1,dn2,dn3,dn4),每个数据节点对应一个具体的数据库。最后,还定义了一个名为“rule1”的表规则,将不同的数据表分配到不同的数据源中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值