mycat/conf/server.xml
<mycat:server xmlns:mycat="http://io.mycat/">
<!-- 全局SQL防火墙设置 -->
<!--
<firewall>
<whitehost>
<!--host:允许访问的的ip,user:允许访问的用户名-->
<host host="127.0.0.1" user="mycat"/>
<host host="127.0.0.2" user="mycat"/>
</whitehost>
<blacklist check="false">
</blacklist>
</firewall>
-->
<!--配置用户信息-->
<!--用户名-->
<user name="root">
<!--密码-->
<property name="password">123456</property>
<!--逻辑数据库名称-->
<property name="schemas">TESTDB</property>
<!-- 表级 DML 权限设置 -->
<!--
<privileges check="false">
<schema name="TESTDB" dml="0110" >
<!--table标签表示为表,dml:配置增删改的权限 0:没有 1:有权限-->
<table name="tb01" dml="0000"></table>
<table name="tb02" dml="1111"></table>
</schema>
</privileges>
-->
</user>
<!--readOnl:只读属性,表明为普通用户-->
<user name="user">
<property name="password">user</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
</user>
</mycat:server>
schema.xml
<mycat:schema xmlns:mycat="http://io.mycat/">
<!--配置逻辑库名称-->
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode='数据库节点,需要与下边的dataNode:name 属性保持一致'>
<!--读写分离不需要进行配置-->
</schema>
<!--dataNode定义mycat库的各个库信息,database映射真实库的名称-->
<dataNode name="dn1" dataHost="localhost1" database="db1" />
<!--定义具体数据库实例-->
<dataHost name="localhost1" <!--配置名称-->
maxCon="1000" <!--最大连接-->
minCon="10" <!--最小连接-->
balance="1"<!--负载均衡 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">
<!--配置从库信息-->
<readHost host="hostS2" url="192.168.1.200:3306" user="root" password="xxx" />
</writeHost>
<writeHost host="hostS1" url="localhost:3316" user="root" password="123456" />
</dataHost>
</mycat:schema>