(保姆级)Mycat搭建读写分离

命运对每个人都是一样的,不一样的是各自的努力和付出不同,付出的越多,努力的越多,得到的回报也越多,在你累的时候请看一下身边比你成功却还比你更努力的人,这样,你就会更有动力。

导读:本篇文章讲解 (保姆级)Mycat搭建读写分离,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

目录

一、前言🐇

二、读写分离是什么?🐇

三、使用步骤🐇

1.修改配置文件

2.片段代码解释

3.启动mycat

三、总结🐇


一、前言🐇

上一篇文章《Mysql搭建主从复制功能》,提督分享了搭建mysql数据库主从复制的功能,现在,咱们在这个功能上实现Mycat的读写分离操作。

二、读写分离是什么?🐇

示例:读写分离 是基于mysql数据库主从复制实现的一个功能,该功能让主数据库处理事务性增、改、删操作,从数据库处理查询操作。它是Mycat的一个重要功能之一,保证了一个数据库宕机,系统还可以从另一个数据库获取数据。保证了数据的安全和系统的稳定。

(保姆级)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

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!