mycat快速入門之讀寫分離

mycat主要是提供了數據庫庫切分的一種具體實現配置,這一篇咱們不作深刻剖析,先讓程序跑起來再說!java

mycat官網:http://www.mycat.io/  #中文的別怕python

 1>環境:mysql

CentOS操做系統
mysql5.6
主庫主機:192.168.0.1
從庫a主機:192.168.0.2
從庫b主機:192.168.0.3linux

因爲測試,我沒開太多虛擬機,全部把mycat服務器和從庫b裝在了一臺機器上了sql

##################################數據庫

2>配置mycat先確保,配置好主從複製,半同步複製。(我以前博文有講詳細步驟)服務器

3>開始配置mycatoracle

(1)先安裝JDK(由於mycat是用java實現的)app

JDK 下載:http://www.oracle.com/technetwork/java/javase/downloads/ 測試

(2)在安裝mycat

官網下載並解壓:tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz 

(3)#配置/etc/profile

export JAVA_HOME=/usr/app/jdk1.8.0_171
export JRE_HOME=/usr/app/jdk1.8.0_171/jre
export MYCAT_HOME=/usr/app/mycat
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MYCAT_HOME/bin 

(4)mycat配置(先備份三個配置文件)

>>cd /d/mycat/conf
>>ls
rule.xml
server.xml
schema.xml 

server.xml

<!-- 全局SQL防火牆設置 -->
        <!-- 
        <firewall> 
           <whitehost>
              <host host="127.0.0.1" user="mycat"/>
              <host host="127.0.0.2" user="mycat"/>
           </whitehost>
       <blacklist check="false">
       </blacklist>
        </firewall>
        -->

        <user name="root">
                <property name="password">123456</property>
                <property name="schemas">contract0</property>

                <!-- 表級 DML 權限設置 -->
                <!--            
                <privileges check="false">
                        <schema name="TESTDB" dml="0110" >
                                <table name="tb01" dml="0000"></table>
                                <table name="tb02" dml="1111"></table>
                        </schema>
                </privileges>           
                 -->
        </user>

        <user name="user">
                <property name="password">user</property>
                <property name="schemas">contract0</property>
                <property name="readOnly">true</property>
        </user>

 schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="contract0" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
        </schema>
        <dataNode name="dn1" dataHost="localhost1" database="contract0" />
        <dataHost name="localhost1" maxCon="100" minCon="4" balance="3"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!-- can have multi write hosts -->
                <writeHost host="hostM1" url="192.168.0.1:3306" user="root"
                                   password="123123">
                        <!-- can have multi read hosts -->
                        <readHost host="hostS1" url="192.168.0.2:3306" user="root" password="123123" weight="1"/>
                        <readHost host="hostS2" url="192.168.0.1:3306" user="root" password="123123" weight="1"/>
                </writeHost>
        </dataHost>
</mycat:schema>

4>安裝完成後,啓動:
>>mycat --help
Usage: /d/mycat/bin/mycat { console | start | stop | restart | status | dump }
>>mycat start

OK,能夠跑起來了!後續博文將詳細介紹mycat!!

相關文章
相關標籤/搜索