您的位置:首页 > 数据库 > MySQL

Mycat实现Mysql数据库读写分离

2018-08-09 11:54 501 查看

 

 

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

  

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: