mycat中最重要3个配置文件

来源:互联网 发布:马克威算法怎么样 编辑:程序博客网 时间:2024/06/05 22:45

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.htmlbalance="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",所有的操作发送到配置的第一个writehostwriteType="1",随机发送到配置的所有writehostwriteType="2",不执行写操作switchType指的是切换的模式,目前的取值也有4种:switchType=‘-1‘ 表示不自动切换switchType=‘1‘ 默认值,表示自动切换switchType=‘2‘ 基于MySQL主从同步的状态决定是否切换,心跳语句为show slave statusswitchType=‘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用于分库分表的规则。

原创粉丝点击