Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz
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="nonePasswordLogin">0</property>
<property name="useHandshakeV10">1</property>
<property name="useSqlStat">0</property>
<property name="useGlobleTableCheck">0</property>
<property name="sequnceHandlerType">2</property>
<property name="subqueryRelationshipCheck">false</property>
<property name="processorBufferPoolType">0</property>
<property name="handleDistributedTransactions">0</property>
<property name="useOffHeapForMerge">1</property>
<property name="memoryPageSize">64k</property>
<property name="spillsFileBufferSize">1k</property>
<property name="useStreamOutput">0</property>
<property name="systemReserveMemorySize">384m</property>
<property name="useZKSwitch">false</property>
</system>
<!--這裏是設置的platform-auth用戶和虛擬邏輯庫-->
<user name="root" defaultAccount="true">
<property name="password">[email protected]</property>
<property name="schemas">platform-auth,platform-config</property>
</user>
</mycat:server>
schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!--配置數據表-->
<schema name="platform-auth" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema>
<schema name="platform-config" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn2"></schema>
<!--配置分片關係-->
<dataNode name="dn1" dataHost="cluster1" database="platform-auth" />
<dataNode name="dn2" dataHost="cluster2" database="platform-config" />
<!--配置連接信息-->
<dataHost name="cluster1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="-1"
slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="W1" url="172.16.7.150:3306" user="gateway" password="gateway"></writeHost>
<writeHost host="R1" url="172.16.7.150:3307" user="gateway" password="gateway"></writeHost>
</dataHost>
<dataHost name="cluster2" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="-1"
slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="W1" url="172.16.7.150:3306" user="gateway" password="gateway"></writeHost>
<writeHost host="R1" url="172.16.7.150:3307" user="gateway" password="gateway"></writeHost>
</dataHost>
</mycat:schema>
如果直接在 writeHost 配置 readHost ,發現主節點宕機後,mycat 無法 讀取從節點數據,希望後續支持
具體參考issue https://github.com/MyCATApache/Mycat-Server/issues/2731
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!--配置數據表-->
<schema name="platform-auth" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
</schema>
<!--配置分片關係-->
<dataNode name="dn1" dataHost="cluster1" database="platform-auth" />
<!--配置連接信息-->
<dataHost name="cluster1" maxCon="1000" minCon="10" balance="3"
writeType="1" dbType="mysql" dbDriver="native" switchType="1"
slaveThreshold="100">
<writeHost host="W1" url="172.16.7.150:3306" user="gateway" password="gateway">
<readHost host="W1R1" url="172.16.7.150:3307" user="gateway" password="gateway" />
</writeHost>
</dataHost>
</mycat:schema>