mycat中最重要3个配置文件

1,schema.xml用于设置mycat的逻辑库,表,数据节点,dataHost等内容。

Schema.xml 文件里有mycat分库分片和读写分离的配置
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/" >
 
        <schema name="test" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">    这里的test名字要和server里的一致
       <schema name="test1" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn2">
       因为有多个数据库,所以schema name 有两个
        <dataNode name="dn1" dataHost="localhost1" database="test" />
        <dataNode name="dn2" dataHost="localhost1" database="test1" />
       datanode 也有两个,分别对应物理数据库test 和test1
        <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="localhost:3306" user="root"
                        password="123456">
                   </writeHost>
                <writeHost host="hostS1" url="192.168.1.1:3306" user="root"
                        password="123456" />
              
        </dataHost>
        
</mycat:schema>
 
 这里我把注释文件全都删除了,因为我只需要实现读写分离,所以配置比较简单。
 这里需要注意的是 balance, switchType, writeType
以下摘抄自http://www.dongcoder.com/detail-61311.html
balance="0", 不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。
balance="1",全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且M1与M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡。
balance="2",所有读操作都随机的在writeHost、readhost上分发。
balance="3",所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力
writeType表示写模式
writeType="0",所有的操作发送到配置的第一个writehost
writeType="1",随机发送到配置的所有writehost
writeType="2",不执行写操作
switchType指的是切换的模式,目前的取值也有4种:
switchType=‘-1‘ 表示不自动切换
switchType=‘1‘ 默认值,表示自动切换
switchType=‘2‘ 基于MySQL主从同步的状态决定是否切换,心跳语句为show slave status
switchType=‘3‘基于MySQL galary cluster的切换机制(适合集群)(1.4.1),心跳语句为show status like ‘wsrep%‘。


2 、server.xml用于配置系统参数和给逻辑表分配权限等。例如mycat的登录信息。

Server.xml 文件是mycat的登录信息,这里我只修改了以下配置
 <user name="test">   mycat登录用户名
                <property name="password">test</property>mycat登录密码  
                <property name="schemas">test,test1(有多个数据库可以添加多个逻辑库)</property>   逻辑库,这里的逻辑库名要和schema.xml里名字一致
        </user>                                           
                                                                                                                                               
        <user name="user">
                <property name="password">user</property>
                <property name="schemas">test</property>
                <property name="readOnly">true</property>
        </user>

里面有几个参数要注意:

idleTimeout:指定连接的空闲超时时间,默认是30分钟,所以在配置数据源的时候,数据源的超时时间要小于mycat的空闲超时时间。

charset:连接的初始化字符集,默认是utf8

txlsolation:前端连接的初始化事务隔离级别,默认是和mysql的repeated_read可重复读隔离级别一致

sqlExecuteTimeout:sql执行超时时间,默认是300秒。


3、rule.xml用于分库分表的规则。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值