42. mycat参数介绍¶
1. 配置文件¶
vim schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="sh1">
</schema>
<dataNode name="sh1" dataHost="oldguo1" database="world" />
<dataHost name="oldguo1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1">
<heartbeat>select user()</heartbeat>
<writeHost host="db1" url="192.168.178.161:3307" user="root" password="123">
<readHost host="db2" url="192.168.178.161:3309" user="root" password="123" />
</writeHost>
<writeHost host="db3" url="192.168.178.162:3307" user="root" password="123">
<readHost host="db4" url="192.168.178.162:3309" user="root" password="123" />
</writeHost>
</dataHost>
</mycat:schema>
2. balance属性¶
<dataHost name="oldguo1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1">
负载均衡类型,目前的取值有3种:
1.balance="0",不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。
2.balance="1",全部的readHost与standby writeHost参与select语句的负载均衡,简单地说,当双主双从模式,正常情况下,M2,S1,S2都参与select语句的负载均衡
3.balance="2",所有读操作都随机的在writeHost、readHost上分发。
3. writeType属性¶
<dataHost name="oldguo1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1">
负载均衡类型,目前的取值有2种:
1.writeType="0",所有写操作发送到配置的第一个writeHost,第一个挂了起到还生存的第二个writeHost上,重新启动后,已切换后的为主,切换记录在配置文件中:dnindex.properties
2.writeType="1",所有写操作都随机的发送到配置的writeHost,但不推荐使用
4. switchType属性¶
<dataHost name="oldguo1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1">
-1:不自动切换
1:默认值,自动切换
2:基于MySQL主从同步的状态决定是否切换,心跳语句为show slave status
5. datahost其他配置¶
<dataHost name="oldguo1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1">
maxCon:最大并发连接数
minCon:mycat在启动后,会在后端节点上自动开启的连接线程
tempReadHostAvailable="1"
这个一主一从时,可以开启这个参数。
如果双珠双从,<heartbeat>select user()</heartbeat>检测心跳
6. sqlMaxLimit属性¶
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="sh1">
sqlMaxLimit:在后面会用到,限制最大查询
7. dbDriver属性¶
<dataHost name="oldguo1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1">
dbDriver="native" :mysql的驱动是native
最后更新:
2022-02-20 08:44:07