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

      

     

     

  • 相关阅读:
    q和blockquote标签的区别
    Python基础数据类型2
    Python基础类型(1)
    Python运算符与编码
    python基础(初识)
    变量,解释器,垃圾回收机制,小整数池总结
    面向对象 --类
    (绑定方法和非绑定方法)类方法,实例方法,静态方法 类属性和实例属性
    logging 模块
    subprocess(cmd命令)模块 && configerparser模块(配置ini文件)
  • 原文地址:https://www.cnblogs.com/zwcry/p/9444394.html
Copyright © 2020-2023  润新知