Mycat 配置⽂件超详细解释
Mycat作为现在最流⾏的分布式数据库中间件,已经在很多的⽣产项⽬中实施,随着时间的推移会有更多的⽣产项⽬中会⽤到Mycat。 本⽂主要是介绍MyCat主要配置⽂件,以及笔者对这些配置的⼀些理解。
⼆、 前⾔
本⽂主要分析的有l,l,l三个最常⽤的⽂件。
三、 l
标签主要有四个:
system,user,firewarll,cluster.
接下来对四个标签进⾏说明
1. user 标签内容:
<user name="test"> 说明⽤户名是test。
⼦标签:
property,privileges.
1) property标签
内容:内容
说明<property name="password">test</property>
⽤户密码是test <property name="schemas">db1, db2</property>
可访问的schema有db1,db2<property name="readOnly">true</property>
是否只读<property name="benchmark">11111</property>
连接上限,降级权值。<property name="usingDecrypt">1</property>是否开启加密。
2) privileges标签
对⽤户的 schema以及表进⾏精细化的DML权限控制。
accommodatingcheck表⽰是否开启DML权限检查。默认是关闭。
server.dtd⽂件中 <!ELEMENT privileges (schema)*> 说明可以有多个schema的配置。
dml顺序说明:
⼀、 引⾔
<privileges check ="false">
1
insert,update,select,delete
db1的权限是update,select。
tb01的权限是啥都不能⼲。
tb02的权限是insert,update,select,delete。
其他表默认是udpate,select。
2. system 标签
这个标签内嵌套的所有 property 标签都与系统配置有关。
字符集
处理线程数量,默认是cpu数量。
每次读取留的数量,默认4096。
创建共享buffer需要占⽤的总空间⼤⼩。processorBufferChunk*processors*100。<schema name ="db1" dml ="0110" > <table name ="tb01" dml ="0000"></table > <table name ="tb02" dml ="1111"></table ></schema >
1
2
3
4<property name="charset">utf8</property >
1<property name="processors">1</property >
1<property name="processorBufferChunk">4096</property >
1<property name="processorBufferPool">409600</property >
1<property name="processorBufferPoolType">0</property >
1
eclipse写好的程序怎么运行默认为0。0表⽰DirectByteBufferPool,1表⽰ByteBufferArena。
⼆级共享buffer是processorBufferPool的百分⽐,这⾥设置的是百分⽐。
全局ID⽣成⽅式。(0:为本地⽂件⽅式,1:为数据库⽅式;2:为时间戳序列⽅式;3:为ZK⽣成ID;4:为ZK递增ID⽣成。
是否开启mysql压缩协议。1为开启,0为关闭,默认关闭。
指定 Mysql 协议中的报⽂头长度。默认 4。
指定 Mysql 协议可以携带的数据最⼤长度。默认 16M。
指定连接的空闲超时时间。某连接在发起空闲检查下,发现距离上次使⽤超过了空闲时间,那么这个连接会被回收,就是被直接的关闭掉。默认 30 分钟,单位毫秒。<property name="processorBufferLocalPercent">100</property >
mysql语句的执行顺序1<property name="sequnceHandlerType">100</property >
1<property name="useCompression">1</property >
1<property name="packetHeaderSize">4</property >
1<property name="maxPacketSize">16M</property >
压力容器abcd分类1<property name="idleTimeout">1800000</property >
1<property name="txIsolation">3</property >
1
前端连接的初始化事务隔离级别,只在初始化的时候使⽤,后续会根据客户端传递过来的属性对后端
数据库连接进⾏同步。默认为REPEATED_READ,设置值为数字默认 3。
READ_UNCOMMITTED = 1;
READ_COMMITTED = 2;0是float行吗
REPEATED_READ = 3;
SERIALIZABLE = 4;
SQL 执⾏超时的时间,Mycat 会检查连接上最后⼀次执⾏ SQL 的时间,若超过这个时间则会直接关闭这连接。默认时间为 300 秒,单位秒。
清理 NIOProcessor 上前后端空闲、超时和关闭连接的间隔时间。默认是 1 秒,单
位毫秒。
对后端连接进⾏空闲、超时检查的时间间隔,默认是 300 秒,单位毫秒。
对后端所有读、写库发起⼼跳的间隔时间,默认是 10 秒,单位毫秒。
mycat 服务监听的 IP 地址,默认值为 0.0.0.0。
定义 mycat 的使⽤端⼝,默认值为 8066。<property name="sqlExecuteTimeout">300</property >
1<property name="processorCheckPeriod">1000</property >
1<property name="dataNodeIdleCheckPeriod">300000</property >
1<property name="dataNodeHeartbeatPeriod">10000</property >
1<property name="bindIp">0.0.0.0</property >
1<property name="serverPort">8066</property >
1
定义 mycat 的管理端⼝,默认值为 9066。
easyui griddata点击不能多选mycat 模拟的 mysql 版本号,默认值为 5.6 版本,如⾮特需,不要修改这个值,⽬前⽀持设置 5.5,5.6,5.7 版本,其他版本可能会有问题。
是否开启实时统计。1为开启;0为关闭 。
是否开启全局表⼀致性检测。1为开启;0为关闭 。
分布式事务开关。0为不过滤分布式事务;1为过滤分布式事务;2 为不过滤分布式事务,但是记录分布式事务⽇志。
默认是65535。 64K ⽤于sql解析时最⼤⽂本长度
以上举例的属性仅仅是⼀部分,可以配置的变量很多,具体可以查看SystemConfig这个类的属性内容。
System标签下的属性,⼀般是上线后,需要根据实际运⾏的情况,分析后调优的时候进⾏修改。
3. Firewall 标签
顾名思义,这个就是关于防⽕墙的设置,也就是在⽹络层对请求的地址进⾏限制,主要是从安全⾓度来保证Mycat不被匿名IP进⾏访问<property name="managerPort">9066</property >
1<property name="fakeMySQLVersion">5.6</property >
1<property name="useSqlStat">0</property >
1<property name="useGlobleTableCheck">0</property >
1<property name="handleDistributedTransactions">0</property >
1<property name="maxStringLiteralLength">65535</property >
1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论