mycat schema server rule
- schema
- <?xml version="1.0"?>
- <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
- <mycat:schema xmlns:mycat="http://io.mycat/">
- <schema name="TESTDB" checkSQLschema="false" >
- <!-- auto sharding by id (long) OrderItem-->
- <table name="tb_Item" dataNode="dn1,dn2,dn3" rule="jch" />
- <table name="OrderItem" dataNode="dn1,dn2,dn3" rule="jch" />
- <!-- 全局表-->
- <table name="goods_class" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3" />
- </schema>
- <!-- <dataNode name="dn1$0-743" dataHost="localhost1" database="db$0-743"
- /> -->
- <dataNode name="dn1" dataHost="localhost1" database="data1" />
- <dataNode name="dn2" dataHost="localhost1" database="data2" />
- <dataNode name="dn3" dataHost="localhost1" database="data3" />
- <!--<dataNode name="dn4" dataHost="sequoiadb1" database="SAMPLE" />
- <dataNode name="jdbc_dn1" dataHost="jdbchost" database="db1" />
- <dataNode name="jdbc_dn2" dataHost="jdbchost" database="db2" />
- <dataNode name="jdbc_dn3" dataHost="jdbchost" database="db3" /> -->
- <dataHost name="localhost1" maxCon="5" minCon="10" balance="2"
- writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100" maxRetryCount="4">
- <heartbeat>select user()</heartbeat>
- <!-- can have multi write hosts -->
- <writeHost host="hostM1" url="localhost:3306" user="root"
- password="Ali_2019">
- <!-- can have multi read hosts -->
- <readHost host="hostS2" url="localhost:3306" user="root" password="123" />
- </writeHost>
- <writeHost host="hostS1" url="localhost:3306" user="root"
- password="123" />
- <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
- </dataHost>
- <!--
- <dataHost name="sequoiadb1" maxCon="1000" minCon="1" balance="0" dbType="sequoiadb" dbDriver="jdbc">
- <heartbeat> </heartbeat>
- <writeHost host="hostM1" url="sequoiadb://1426587161.dbaas.sequoialab.net:11920/SAMPLE" user="jifeng" password="jifeng"></writeHost>
- </dataHost>
- <dataHost name="oracle1" maxCon="1000" minCon="1" balance="0" writeType="0" dbType="oracle" dbDriver="jdbc"> <heartbeat>select 1 from dual</heartbeat>
- <connectionInitSql>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'</connectionInitSql>
- <writeHost host="hostM1" url="jdbc:oracle:thin:@127.0.0.1:1521:nange" user="base" password="123456" > </writeHost> </dataHost>
- <dataHost name="jdbchost" maxCon="1000" minCon="1" balance="0" writeType="0" dbType="mongodb" dbDriver="jdbc">
- <heartbeat>select user()</heartbeat>
- <writeHost host="hostM" url="mongodb://192.168.0.99/test" user="admin" password="123456" ></writeHost> </dataHost>
- <dataHost name="sparksql" maxCon="1000" minCon="1" balance="0" dbType="spark" dbDriver="jdbc">
- <heartbeat> </heartbeat>
- <writeHost host="hostM1" url="jdbc:hive2://feng01:10000" user="jifeng" password="jifeng"></writeHost> </dataHost> -->
- <!-- <dataHost name="jdbchost" maxCon="1000" minCon="10" balance="0" dbType="mysql"
- dbDriver="jdbc"> <heartbeat>select user()</heartbeat> <writeHost host="hostM1"
- url="jdbc:mysql://localhost:3306" user="root" password="123456"> </writeHost>
- </dataHost> -->
- </mycat:schema>
- rule
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- - - Licensed under the Apache License, Version 2.0 (the "License");
- - you may not use this file except in compliance with the License. - You
- may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0
- - - Unless required by applicable law or agreed to in writing, software -
- distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the
- License for the specific language governing permissions and - limitations
- under the License. -->
- <!DOCTYPE mycat:rule SYSTEM "rule.dtd">
- <mycat:rule xmlns:mycat="http://io.mycat/">
- <tableRule name="rule1">
- <rule>
- <columns>id</columns>
- <algorithm>func1</algorithm>
- </rule>
- </tableRule>
- <tableRule name="rule2">
- <rule>
- <columns>user_id</columns>
- <algorithm>func1</algorithm>
- </rule>
- </tableRule>
- <tableRule name="sharding-by-intfile">
- <rule>
- <columns>sharding_id</columns>
- <algorithm>hash-int</algorithm>
- </rule>
- </tableRule>
- <tableRule name="auto-sharding-long">
- <rule>
- <columns>id</columns>
- <algorithm>rang-long</algorithm>
- </rule>
- </tableRule>
- <tableRule name="mod-long">
- <rule>
- <columns>id</columns>
- <algorithm>mod-long</algorithm>
- </rule>
- </tableRule>
- <tableRule name="sharding-by-murmur">
- <rule>
- <columns>id</columns>
- <algorithm>murmur</algorithm>
- </rule>
- </tableRule>
- <tableRule name="crc32slot">
- <rule>
- <columns>id</columns>
- <algorithm>crc32slot</algorithm>
- </rule>
- </tableRule>
- <tableRule name="sharding-by-month">
- <rule>
- <columns>create_time</columns>
- <algorithm>partbymonth</algorithm>
- </rule>
- </tableRule>
- <tableRule name="latest-month-calldate">
- <rule>
- <columns>calldate</columns>
- <algorithm>latestMonth</algorithm>
- </rule>
- </tableRule>
- <tableRule name="auto-sharding-rang-mod">
- <rule>
- <columns>id</columns>
- <algorithm>rang-mod</algorithm>
- </rule>
- </tableRule>
- <tableRule name="jch">
- <rule>
- <columns>id</columns>
- <algorithm>jump-consistent-hash</algorithm>
- </rule>
- </tableRule>
- <function name="murmur"
- class="io.mycat.route.function.PartitionByMurmurHash">
- <property name="seed">0</property><!-- 默认是0 -->
- <property name="count">2</property><!-- 要分片的数据库节点数量,必须指定,否则没法分片 -->
- <property name="virtualBucketTimes">160</property><!-- 一个实际的数据库节点被映射为这么多虚拟节点,默认是160倍,也就是虚拟节点数是物理节点数的160倍 -->
- <!-- <property name="weightMapFile">weightMapFile</property> 节点的权重,没有指定权重的节点默认是1。以properties文件的格式填写,以从0开始到count-1的整数值也就是节点索引为key,以节点权重值为值。所有权重值必须是正整数,否则以1代替 -->
- <!-- <property name="bucketMapPath">/etc/mycat/bucketMapPath</property>
- 用于测试时观察各物理节点与虚拟节点的分布情况,如果指定了这个属性,会把虚拟节点的murmur hash值与物理节点的映射按行输出到这个文件,没有默认值,如果不指定,就不会输出任何东西 -->
- </function>
- <function name="crc32slot"
- class="io.mycat.route.function.PartitionByCRC32PreSlot">
- <property name="count">2</property><!-- 要分片的数据库节点数量,必须指定,否则没法分片 -->
- </function>
- <function name="hash-int"
- class="io.mycat.route.function.PartitionByFileMap">
- <property name="mapFile">partition-hash-int.txt</property>
- </function>
- <function name="rang-long"
- class="io.mycat.route.function.AutoPartitionByLong">
- <property name="mapFile">autopartition-long.txt</property>
- </function>
- <function name="mod-long" class="io.mycat.route.function.PartitionByMod">
- <!-- how many data nodes -->
- <property name="count">3</property>
- </function>
- <function name="func1" class="io.mycat.route.function.PartitionByLong">
- <property name="partitionCount">8</property>
- <property name="partitionLength">128</property>
- </function>
- <function name="latestMonth"
- class="io.mycat.route.function.LatestMonthPartion">
- <property name="splitOneDay">24</property>
- </function>
- <function name="partbymonth"
- class="io.mycat.route.function.PartitionByMonth">
- <property name="dateFormat">yyyy-MM-dd</property>
- <property name="sBeginDate">2015-01-01</property>
- </function>
- <function name="rang-mod" class="io.mycat.route.function.PartitionByRangeMod">
- <property name="mapFile">partition-range-mod.txt</property>
- </function>
- <function name="jump-consistent-hash" class="io.mycat.route.function.PartitionByJumpConsistentHash">
- <property name="totalBuckets">3</property>
- </function>
- </mycat:rule>
- server
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- - - Licensed under the Apache License, Version 2.0 (the "License");
- - you may not use this file except in compliance with the License. - You
- may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0
- - - Unless required by applicable law or agreed to in writing, software -
- distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT
- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the
- License for the specific language governing permissions and - limitations
- under the License. -->
- <!DOCTYPE mycat:server SYSTEM "server.dtd">
- <mycat:server xmlns:mycat="http://io.mycat/">
- <system>
- <property name="nonePasswordLogin">0</property> <!-- 0为需要密码登陆、1为不需要密码登陆 ,默认为0,设置为1则需要指定默认账户-->
- <property name="useHandshakeV10">1</property>
- <property name="useSqlStat">0</property> <!-- 1为开启实时统计、0为关闭 -->
- <property name="useGlobleTableCheck">0</property> <!-- 1为开启全加班一致性检测、0为关闭 -->
- <property name="sequnceHandlerType">2</property>
- <property name="subqueryRelationshipCheck">false</property> <!-- 子查询中存在关联查询的情况下,检查关联字段中是否有分片字段 .默认 false -->
- <!-- <property name="useCompression">1</property>--> <!--1为开启mysql压缩协议-->
- <!-- <property name="fakeMySQLVersion">5.6.20</property>--> <!--设置模拟的MySQL版本号-->
- <!-- <property name="processorBufferChunk">40960</property> -->
- <!--
- <property name="processors">1</property>
- <property name="processorExecutor">32</property>
- -->
- <!--默认为type 0: DirectByteBufferPool | type 1 ByteBufferArena | type 2 NettyBufferPool -->
- <property name="processorBufferPoolType">0</property>
- <!--默认是65535 64K 用于sql解析时最大文本长度 -->
- <!--<property name="maxStringLiteralLength">65535</property>-->
- <!--<property name="sequnceHandlerType">0</property>-->
- <!--<property name="backSocketNoDelay">1</property>-->
- <!--<property name="frontSocketNoDelay">1</property>-->
- <!--<property name="processorExecutor">16</property>-->
- <!--
- <property name="serverPort">8066</property> <property name="managerPort">9066</property>
- <property name="idleTimeout">300000</property> <property name="bindIp">0.0.0.0</property>
- <property name="frontWriteQueueSize">4096</property> <property name="processors">32</property> -->
- <!--分布式事务开关,0为不过滤分布式事务,1为过滤分布式事务(如果分布式事务内只涉及全局表,则不过滤),2为不过滤分布式事务,但是记录分布式事务日志-->
- <property name="handleDistributedTransactions">0</property>
- <!--
- off heap for merge/order/group/limit 1开启 0关闭
- -->
- <property name="useOffHeapForMerge">1</property>
- <!--
- 单位为m
- -->
- <property name="memoryPageSize">64k</property>
- <!--
- 单位为k
- -->
- <property name="spillsFileBufferSize">1k</property>
- <property name="useStreamOutput">0</property>
- <!--
- 单位为m
- -->
- <property name="systemReserveMemorySize">384m</property>
- <!--是否采用zookeeper协调切换 -->
- <property name="useZKSwitch">false</property>
- <!-- XA Recovery Log日志路径 -->
- <!--<property name="XARecoveryLogBaseDir">./</property>-->
- <!-- XA Recovery Log日志名称 -->
- <!--<property name="XARecoveryLogBaseName">tmlog</property>-->
- <!--如果为 true的话 严格遵守隔离级别,不会在仅仅只有select语句的时候在事务中切换连接-->
- <property name="strictTxIsolation">false</property>
- <property name="useZKSwitch">true</property>
- </system>
- <!-- 全局SQL防火墙设置 -->
- <!--白名单可以使用通配符%或着*-->
- <!--例如<host host="127.0.0.*" user="root"/>-->
- <!--例如<host host="127.0.*" user="root"/>-->
- <!--例如<host host="127.*" user="root"/>-->
- <!--例如<host host="1*7.*" user="root"/>-->
- <!--这些配置情况下对于127.0.0.1都能以root账户登录-->
- <!--
- <firewall>
- <whitehost>
- <host host="1*7.0.0.*" user="root"/>
- </whitehost>
- <blacklist check="false">
- </blacklist>
- </firewall>
- -->
- <user name="root" defaultAccount="true">
- <property name="password">123456</property>
- <property name="schemas">TESTDB</property>
- <!-- 表级 DML 权限设置 -->
- <!--
- <privileges check="false">
- <schema name="TESTDB" dml="0110" >
- <table name="tb01" dml="0000"></table>
- <table name="tb02" dml="1111"></table>
- </schema>
- </privileges>
- -->
- </user>
- <user name="user">
- <property name="password">user</property>
- <property name="schemas">TESTDB</property>
- <property name="readOnly">true</property>
- </user>
- </mycat:server>
mycat schema server rule的更多相关文章
- mycat schema.xml 配置文件详解
<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> &l ...
- Mycat 配置文件server.xml
server.xml 几乎保存了所有 mycat 需要的系统配置信息. 1.system 标签: 该标签内嵌套的所有 property 标签都与系统配置有关. charset 属性: 该属性用于字符集 ...
- Mycat 配置说明(rule.xml)
rule.xml 配置文件定义了我们对表进行拆分所涉及到的规则定义.我们可以灵活的对表使用不同的分片算法, 或者对表使用相同的算法但具体的参数不同. tableRule 标签 该标签用于定义表的拆分规 ...
- Windows环境Mycat数据库分库分表中间件部署
下载地址MYCAT官方网站 jdk安装配置 首先去oracle官网下载并安装jdk8,添加环境变量,JAVA_HOME设置为D:\Worksoftware\Java\jdk1.8 CLASSPATH设 ...
- MyCat部署运行(Windows环境)与使用步骤详解
目录(?)[+] 1.MyCat概念 1.1 总体架构 MyCAT的架构如下图所示: MyCAT使用MySQL的通讯协议模拟成一个MySQL服务器,并建立了完整的Schema(数据库).Tab ...
- Windows版Mycat结合mysql安装配置+水平切分(转载)
来源:https://segmentfault.com/a/1190000009495748 参考文档:Mycat安装与使用 环境 环境 版本 windows 10 java 1.8.0 mysql ...
- linux中mycat的配置,分片,以及主从复制
1.1 安装环境 1.jdk:要求jdk必须是1.7及以上版本 2.Mysql:推荐mysql是5.5以上版本 1.2 安装步骤 Mycat有windows.linux多种版本.本教程为lin ...
- MyCAT详解
一.MyCAT概述 MyCAT是一款由阿里Cobar演变而来的用于支持数据库读写分离.分片的分布式中间件.MyCAT可不但支持Oracle.MSSQL.MYSQL.PG.DB2关系型数据库,同时也支持 ...
- Mycat实战之主键数据库自增方式
创建一个 person表,主键为Id,hash方式分片,主键自增(采用数据库方式) #person表结构如下 Id,主键,Mycat自增主键 name,字符串,16字节最长 school,毕业学校,数 ...
随机推荐
- koa2,koa-jwt中token验证实战详解
用户身份验证通常有两种方式,一种是基于cookie的认证方式,另一种是基于token的认证方式.当前常见的无疑是基于token的认证方式.以下所提到的koa均为koa2版本. token认证的优点是无 ...
- Demo:servlet实现图片的上传
一个简单的servlet例子,实现图片的上传功能,上传的图片给 ?HttpServletResponse 对象 public class BackGroundLogoServlet extends H ...
- vue中bus.$on事件被多次绑定
问题描述:只要页面没有强制刷新,存在组件切换,bus.$on方法会被多次绑定,造成事件多次触发 解决办法一:在每次调用方法前先解绑事件( bus.$off ),然后在重新绑定( bus.$on ) b ...
- 【Introduction】R语言入门关键小结
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- koa 基础(一)新建/启动 项目
1.创建项目 npm init -y npm install --save koa 2.app.js // 引入模板 var koa = require('koa'); // 实例化 var app ...
- leetcode-easy-listnode-206 reverse linked list
mycode 98.87 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x ...
- 搭建jenkins集群node结点
配置结点 首先,需要在jenkins的系统设置中新增一个结点 系统管理 -> 节点管理 -> New Node 配置Remote root directory最好和主jenkins的路径一 ...
- 转 实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(三)
这是本系列的最后一篇,主要是select_related() 和 prefetch_related() 的最佳实践. 第一篇在这里 讲例子和select_related() 第二篇在这里 讲prefe ...
- c++中字符输入函数cin.getline在输入char与string时的不同
cin.getline在输入char时: using namespace std; ; char name[ArSize]; char dessert[ArSize]; cout << & ...
- [flask_sqlalchemy ]插入数据时发生错误后如何处理
示例代码: def add_supplier(): form = request.form if request.method == 'POST': print(form) supplier = Su ...