目录
一、前言🐇
上一篇文章《Mysql搭建主从复制功能》,提督分享了搭建mysql数据库主从复制的功能,现在,咱们在这个功能上实现Mycat的读写分离操作。
二、读写分离是什么?🐇
示例:读写分离 是基于mysql数据库主从复制实现的一个功能,该功能让主数据库处理事务性增、改、删操作,从数据库处理查询操作。它是Mycat的一个重要功能之一,保证了一个数据库宕机,系统还可以从另一个数据库获取数据。保证了数据的安全和系统的稳定。
三、使用步骤🐇
1.修改配置文件
修改Mycat的配置文件(schema.xml)修改完:wq保存
代码如下:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!--代表数据库的一个配置 与server.xml中的数据库对应 -->
<schema name="TESTDB" checkSQLschema="false" dataNode="db_node" sqlMaxLimit="100">
</schema>
<!--分片配置-->
<dataNode name="db_node" dataHost="db_host" database="test" />
<!--物理数据库的配置 balance:0 所有的读操作给master 1:给slave 2:随机分配-->
<dataHost name="db_host" 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.66.138:3350" user="root" passwor="******">
<readHost host="hostS1" url="192.168.66.138:3360" user="root" passwor="******" />
</writeHost>
</dataHost>
</mycat:schema>
2.片段代码解释
<schema name="TESTDB" checkSQLschema="false" dataNode="db_node" sqlMaxLimit="100"></schema>
参数:
schema:逻辑库名字
sqlMaxLimit:一次取多少条数据
table:逻辑表
dataNode:数据节点,对应datanode标签
rule:分片规则,对象rule.xml配置文件
primaryKey:分片主键,可缓存
#分片配置
<dataNode name="db_node" dataHost="db_host" database="test" />
参数:
name:分片名字
dataHost:分片主机
database:分片数据库
#配置读写分离
<dataHost name="db_host" 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.66.138:3350" user="root" passwor="******">
<readHost host="hostS1" url="192.168.66.138:3360" user="root" passwor="******" />
</writeHost>
</dataHost>
参数:
dataHost:数据主机(节点主机)
dbType:数据库驱动 native:MySQL JDBC: oracle SQLServer
switchType: 是否主动读 1
#Balance参数设置:
1 balance=“0”, 所有读操作都发送到当前可⽤的writeHost上。
2 balance=“1”,所有读操作都随机的发送到readHost。
3 balance=“2”,所有读操作都随机的在writeHost、readhost上分发
#WriteType参数设置:
1 writeType=“0”, 所有写操作都发送到可⽤的writeHost上。
2 writeType=“1”,所有写操作都随机的发送到readHost。
3 writeType=“2”,所有写操作都随机的在writeHost、readhost分上发。
#switchType参数设置:
1 switchType=”1″, 主从自动切换
2 switchType=”2″,从机延时超过slaveThreshold值时切换为主读
3.启动mycat
mycat restart
三、总结🐇
对此,mycat搭建一主一从的读写分离就完成了。
眼睛看,脑子会,一动手就报废,小伙伴赶紧动起手来吧。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/143178.html