• mycat读写分离


    一、实现方式

    mycat作为一个数据库中间件,它能够实现读写分离。简单地说,它可以将“写数据”和“读数据”分开,分配到不同地数据库。但是,它并不能够做到对数据库进行数据同步,所以mycat地读写分离是依赖于数据库本身地“复制”功能。例如:mysql地“主从复制”或者“双主复制”等。

    二、主从复制||双主复制

    开启主从复制,或者主主复制

    主从复制:http://www.cnblogs.com/lay2017/p/9043985.html

    双主复制:http://www.cnblogs.com/lay2017/p/9045557.html

    三、配置读写分离

    本文基于之前的一篇“mycat分库分表”,地址:http://www.cnblogs.com/lay2017/p/9030709.html

    在它的基础上,只需要简单更改配置即可

    我们找到schema.xml文件,并更改配置:

    <?xml version="1.0"?>
    <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
    <mycat:schema xmlns:mycat="http://io.mycat/">
        <!-- 配置逻辑库 -->
        <schema name="mycatdb" checkSQLschema="true" sqlMaxLimit="100" dataNode="dataNode1">
        </schema>
    
        <!-- 配置分片节点 -->
        <dataNode name="dataNode1" dataHost="dataHost1" database="数据库名" />
    
        <!-- 配置节点主机 -->
        <dataHost name="dataHost1" maxCon="1000" minCon="10" balance="1"  writeType="0" dbType="mysql" dbDriver="native">
            <!-- 心跳 -->
            <heartbeat>select user()</heartbeat>
            <!-- 读写配置 -->
            <writeHost host="host1" url="写库的IP:3306" user="root" password="root">
                <readHost host="hostM1" url="读库的IP:3306" user="root" password="root">   
                </readHost>
            </writeHost>
        </dataHost>
    
    </mycat:schema>

    writehost配置写库

    readhost配置读库

    datahost中balance = "1" 表示 将所有的“读”操作发送到readhost上,减轻writehost的负担,以达到读写分离

    四,启动测试

    使用命令:./mycat start启动mycat

    就可以连接并测试数据库了

  • 相关阅读:
    定时器工厂
    无聊js画了个菱形
    盒模型之滚动条
    无聊,纯css写了个评分鼠标移入的效果
    json属性名为什么要双引号?
    原生js写的一个简单slider
    D2 前端技术论坛总结(上)
    第一天,入坑 —— 2014.10.24
    获取div相对文档的位置
    我们平时是怎么写html和css的?
  • 原文地址:https://www.cnblogs.com/lay2017/p/9048511.html
Copyright © 2020-2023  润新知