zoukankan      html  css  js  c++  java
  • mycat的读写分离设置

    官网:http://www.mycat.org.cn/

    一.jdk环境的安装
    1.安装jdk1.7,这是mycat推荐的jdk环境

    2.之前是用yum安装的jdk1.6,首先查找下

    #yum info installed | grep java*
    

      

    3.删除jdk1.6

    #yum remove java-1.6.0-openjdk
    

      

    4.安装jdk1.7

    #yum install java-1.6.0-openjdk
    

      

    二.mysql主从配置

    三.安装mycat
    1.下载

    #wget https://github.com/MyCATApache/Mycat-download/raw/master/1.4-RELEASE/Mycat-server-1.4-release-20151019230038-linux.tar.gz
    

      

    2.解压

    #tar zxvf Mycat-server-1.4-release-20151019230038-linux.tar.gz
    #mv mycat /usr/local/mycat
    

      


    四.配置mycat
    1.进入conf目录

    2.修改schemma.xml

    <?xml version="1.0"?>
    <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
    <mycat:schema xmlns:mycat="http://org.opencloudb/">
    <schema name="dbTest" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema>
    <dataNode name="dn1" dataHost="localhost1" database="dbTest" />
    <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="hostM1" url="192.168.1.6:3306" user="test"
    password="test">
    <readHost host="hostS1" url="localhost:3306" user="test"
    password="test" />
    </writeHost>
    
    <writeHost host="hostS1" url="localhost:3306" user="test"
    password="test">
    </writeHost>
    
    </dataHost>
    </mycat:schema>
    

      

    重要项解释:
    A.<schema name="dbTest" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema>
    指定了mycat对外提供的数据库以及由哪个数据节点来提供服务

    B.<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
    writeType="0" dbType="mysql" dbDriver="native" switchType="-1" slaveThreshold="100">
    a.balance 属性负载均衡类型,目前的取值有 4 种:
    (1). balance="0", 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。
    (2). balance="1",全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1 ->S1 , M2->S2,并且 M1 与 M2 互为主备),正常情况下, M2,S1,S2 都参与 select 语句的负载均衡。
    (3). balance="2",所有读操作都随机的在 writeHost、 readhost 上分发。
    (4). balance="3", 所有读请求随机的分发到 wiriterHost 对应的 readhost 执行,writerHost 不负担读压力,注意 balance=3 只在 1.4 及其以后版本有, 1.3 没有。


    B. writeType 属性
    负载均衡类型,目前的取值有 3 种:
    (1). writeType="0", 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个
    writeHost,重新启动后已切换后的为准,切换记录在配置文件中:dnindex.properties .
    (2). writeType="1",所有写操作都随机的发送到配置的 writeHost。
    (3). writeType="2",没实现。

    c. switchType 属性,主mysql挂了,从mysql是否提升为主
    -1 表示不自动切换
    1 默认值,自动切换
    2 基于MySQL 主从同步的状态决定是否切换


    *注意,必须配置为两个writeHost节点,一个writeHost节点会出现,主mysql挂了,从mysql(readHost)也挂了.

  • 相关阅读:
    Spring MVC的Controller统一异常处理:HandlerExceptionResolver
    spring mvc 404页面制作
    MyEclipse导出可运行的jar包
    Spring的编程式事务和声明式事务
    数据库SQL优化大总结
    LinkedList源码及原理
    ArrayList源码分析
    HashMap源码及原理
    Java集合框架常见面试题
    idea获取激活码
  • 原文地址:https://www.cnblogs.com/itfenqing/p/5942912.html
Copyright © 2011-2022 走看看