本文主要是介绍mycat参考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- mycat 信息
- mycat读写分离配置
- mycat 读写分离配置 + 分库分表
mycat 信息
- 默认端口: 8066
- git地址:https://github.com/MyCATApache/Mycat-Server.git
- 逻辑库,表、分片节点等内容:MYCAT_HOME/conf/schema.xml 中定
- 分片规则:MYCAT_HOME/conf/rule.xml 中定
- mycat用户,系统变量:MYCAT_HOME/conf/server.xml 中定
mycat读写分离配置
- 方案1
- server.xml 配置:配置mycat的用户名,密码和权限等
<user name="mycat"> <property name="password">mycat</property> </user>
- schema.xml配置:配置逻辑库,读写分离等
<schema name="test" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
<!-- 配置需要分片的表 ,如果只需要读写分离,则不用配置表-->
</schema>
<dataNode name="dn1" dataHost="localhost1" database="test" />
<!-- 主要配置,balance="3" 表示仅从writeHost 中的readHost 读取数据,writeType="0"表示写操作只发生在第一个writeHost中,
switchType="-1" 表示主从不自动切换 -->
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3"
writeType="0" dbType="mysql" dbDriver="native" switchType="-1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="M1" url="127.0.0.1:3307" user="root" password="root2">
<!-- can have multi read hosts -->
<readHost host="S1" url="127.0.0.1:3306" user="root" password="root" />
</writeHost>
</dataHost>
说明:主节点挂掉以后,子节点也不能查询,不能自动切换为主节点
- 方案2
- schema.xml配置
<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="M1" url="127.0.0.1:3306" user="root" password="root"></writeHost> <writeHost host="S2" url="127.0.0.1:3307" user="root" password="root2" /> <writeHost host="S3" url="127.0.0.1:3308" user="root" password="root3" /> </dataHost>
只有主节点在写数据,读操作在所有子节点中随机,如果主节点挂掉,那么从节点之一变为主节点承担写操作,读操作从其他节点中随机,当原主节点恢复正常,则成为子节点。
mycat 读写分离配置 + 分库分表
<schema name="test" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"><!-- 配置需要分片的表 --><table name="mycat" dataNode="dn1,dn2" rule="auto-sharding-long" /></schema>
<dataNode name="dn1" dataHost="localhost1" database="test" />
<dataNode name="dn2" dataHost="localhost1" database="test2" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"><heartbeat>select user()</heartbeat><!-- can have multi write hosts --><writeHost host="M1" url="127.0.0.1:3306" user="root" password="root"></writeHost><writeHost host="S2" url="127.0.0.1:3307" user="root" password="root2" /><writeHost host="S3" url="127.0.0.1:3308" user="root" password="root3" />
</dataHost>
这篇关于mycat参考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!