1. 程式人生 > >Mycat實現Mysql數據庫讀寫分離

Mycat實現Mysql數據庫讀寫分離

測試 9.png http company 分片 col windows版本 更多 win

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數據庫讀寫分離