zoukankan      html  css  js  c++  java
  • Mycat实现Mysql数据库读写分离

     

     

    Linux和Windows环境下搭建Mycat数据读写分离

    前提需要:1.服务器装有JVM虚拟机,就是JDK。2.两个Mysql数据库已经实现主从复制,参考:https://www.cnblogs.com/zwcry/p/9407810.html

    主库:129

    从库:130

    一、Mycat安装,官网:http://www.mycat.io/,下载地址http://dl.mycat.io/1.6-RELEASE/,这个是1.6版本,含有windows和linux版本。  

      1.windows版本

        下载-》解压
        

        启动:mycat/bin/目录,双击startup_nowrap.bat
        

      

      2.linux版本

        下载-》解压

        下载到/home/install目录下
        

        解压到/usr/local/mycat目录下
        

        启动:进入bin目录 cd /usr/local/mycat/bin/ ,执行./mycat start
        

      3.其他

      

    二、读写分离配置(Mycat支持集群,多主多从),这里只写单主但从配置

      1.配置简述

     --server.xml:是Mycat服务器参数调整和用户授权的配置文件。
    
      --schema.xml:是逻辑库定义和表以及分片定义的配置文件。
    
      --rule.xml:  是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改需要重启MyCAT。
    
      --log4j.xml: 日志存放在logs/log中,每天一个文件,日志的配置是在conf/log4j.xml中,根据自己的需要可以调整输出级别为debug                           debug级别下,会输出更多的信息,方便排查问题。
    
      --autopartition-long.txt,partition-hash-int.txt,sequence_conf.properties, sequence_db_conf.properties 分片相关的id分片规则配置文件
    
      --lib        MyCAT自身的jar包或依赖的jar包的存放目录。
    
      --logs        MyCAT日志的存放目录。日志存放在logs/log中,每天一个文件


     2.server.xml配置

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mycat:server SYSTEM "server.dtd">
    <mycat:server xmlns:mycat="http://io.mycat/">
        <system>
             <property name="defaultSqlParser">druidparser</property>
        </system>
        
        <user name="root">
            <property name="password">123456</property>
            <property name="schemas">MS</property>
        </user>
    
        <user name="user">
            <property name="password">123456</property>
            <property name="schemas">MS</property>
            <property name="readOnly">true</property>
        </user>
    </mycat:server>

      3.schema.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
    <mycat:schema xmlns:mycat="http://io.mycat/">
    
        <schema name="MS" checkSQLschema="true" sqlMaxLimit="100">
            <table name="company" primaryKey="id" dataNode="dn1" />
        </schema>
        <dataNode name="dn1" dataHost="localhost1" database="ms" />
        <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.159.129:3306" user="root" password="123456">
                <readHost host="hostS2" url="192.168.159.130:3306" user="root" password="123456" />
            </writeHost>
        </dataHost>
    </mycat:schema>

      4.其他

        其他配置属性,可参照源文件注释,简单的读写分离,这些就可以了。

    三、连接Mycat,测试

      1.连接

      

      2.测试

      

     

     

  • 相关阅读:
    数据库02
    MySQL1
    GIL 死锁 递归锁 event 信号量 线程Queue
    小脚本 暴力删除文件 刷屏
    常见web攻击 及基础 回顾(杂记)
    接口中的简单异步 async
    python协程 示例
    python 利用jinja2模板生成html
    python 调用webservices 接口
    python 进程 进程池 进程间通信
  • 原文地址:https://www.cnblogs.com/zwcry/p/9444394.html
Copyright © 2011-2022 走看看