Mycat实现Mysql数据库读写分离
Posted 七脉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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配置
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数据库读写分离的主要内容,如果未能解决你的问题,请参考以下文章
Linux 使用Mycat实现读写分离(基于Mysql的读写分离)