码迷,mamicode.com
首页 > 数据库 > 详细

Mycat实现Mysql数据库读写分离

时间:2018-08-09 14:00:47      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:beat   实现   company   prim   wcry   自己   版本   heartbeat   bug   

 

 

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.测试

  技术分享图片

 

 

 

 

 

Mycat实现Mysql数据库读写分离

标签:beat   实现   company   prim   wcry   自己   版本   heartbeat   bug   

原文地址:https://www.cnblogs.com/zwcry/p/9444394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!