/usr/local/mycat/conf

--server.xml:是Mycat服务器参数调整和用户授权的配置文件。

--schema.xml: 是逻辑库定义和表以及分片定义的配置文件。

--rule.xml:是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改需要重启MyCAT。

[root@oradb conf]# vim server.xml

<?xml version="1.0" encoding="UTF-8"?>

 <!DOCTYPE mycat:server SYSTEM "server.dtd">

 <mycat:server xmlns:mycat="http://io.mycat/">

    <system>

         <property name="useSqlStat">0</property>  <!-- 1为开启实时统计、0为关闭 -->

         <property name="useGlobleTableCheck">0</property>  <!-- 1为开启全加班一致性检测、0为关闭 -->

         <property name="sequnceHandlerType">2</property>

         <property name="processorBufferPoolType">0</property>

         <property name="handleDistributedTransactions">0</property>

        <property name="useOffHeapForMerge">1</property>

        <property name="memoryPageSize">1m</property>

        <property name="spillsFileBufferSize">1k</property>

        <property name="useStreamOutput">0</property>

        <property name="systemReserveMemorySize">384m</property>

        <property name="useZKSwitch">false</property>

   </system>

    <user name="root">

   <property name="password">123456</property>

         <property name="schemas">cloud</property>

    </user>

     <!--配置只读权限的用户及密码-->

    <user name="cloud">

        <property name="password">123456</property>

         <property name="schemas">cloud</property>

        <property name="readOnly">true</property>

   </user>

</mycat:server>

MyCat配置读写分离_配置文件

[root@oradb conf]# vim schema.xml

<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

    <schema name="cloud" checkSQLschema="false" sqlMaxLimit="100" dataNode="master">

    </schema>

    <dataNode name="master" dataHost="host1" database="cloud" />

    <dataHost name="host1" maxCon="1000" minCon="10" balance="1"

          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">

        <heartbeat>select user()</heartbeat>

        <writeHost host="hostM1" url="192.168.1.181:3306" user="root"  password="123456">

        <readHost host="hostS2" url="192.168.1.182:3306" user="cloud" password="123456" />

        </writeHost>

    </dataHost>

</mycat:schema>

MyCat配置读写分离_配置文件_02

Schema标签:name指明schema逻辑数据库的名称,checkSQLschema是否去除sql语句中的数据库名称,如果sql查询语句没有limit语句,sqlMaxLimit为查询语句加上limit。

dataNode标签:定义节点,指定数据虚拟服务器,数据库等属性

dataHost标签:定义具体的数据库实例,读写分离配置,心跳包语句。maxCon属性指定每个读写实例连接池的最大连接。minCon属性指定每个读写实例连接池的最小连接。

balance属性,目前的取值有 4 种:

balance="0", 不开启读写分离机制,所有读写操作都发送到当前可用的writeHost 上。

balance="1",所有读操作都随机的发送到readHost

balance="2",所有读操作都随机的在 writeHost、 readhost 上分发。

balance="3", 所有读请求随机分发到 wiriterHost 对应的 readhost 执行