官網:http://www.mycat.org.cn/java
一.jdk環境的安裝
1.安裝jdk1.7,這是mycat推薦的jdk環境mysql
2.以前是用yum安裝的jdk1.6,首先查找下linux
#yum info installed | grep java*
3.刪除jdk1.6git
#yum remove java-1.6.0-openjdk
4.安裝jdk1.7github
#yum install java-1.6.0-openjdk
二.mysql主從配置
略sql
三.安裝mycat
1.下載數據庫
#wget https://github.com/MyCATApache/Mycat-download/raw/master/1.4-RELEASE/Mycat-server-1.4-release-20151019230038-linux.tar.gz
2.解壓負載均衡
#tar zxvf Mycat-server-1.4-release-20151019230038-linux.tar.gz #mv mycat /usr/local/mycat
四.配置mycat
1.進入conf目錄url
2.修改schemma.xmlspa
<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://org.opencloudb/"> <schema name="dbTest" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema> <dataNode name="dn1" dataHost="localhost1" database="dbTest" /> <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.1.6:3306" user="test" password="test"> <readHost host="hostS1" url="localhost:3306" user="test" password="test" /> </writeHost> <writeHost host="hostS1" url="localhost:3306" user="test" password="test"> </writeHost> </dataHost> </mycat:schema>
重要項解釋:
A.<schema name="dbTest" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema>
指定了mycat對外提供的數據庫以及由哪一個數據節點來提供服務
B.<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="-1" slaveThreshold="100">
a.balance 屬性負載均衡類型,目前的取值有 4 種:
(1). balance="0", 不開啓讀寫分離機制,全部讀操做都發送到當前可用的 writeHost 上。
(2). balance="1",所有的 readHost 與 stand by writeHost 參與 select 語句的負載均衡,簡單的說,當雙主雙從模式(M1 ->S1 , M2->S2,而且 M1 與 M2 互爲主備),正常狀況下, M2,S1,S2 都參與 select 語句的負載均衡。
(3). balance="2",全部讀操做都隨機的在 writeHost、 readhost 上分發。
(4). balance="3", 全部讀請求隨機的分發到 wiriterHost 對應的 readhost 執行,writerHost 不負擔讀壓力,注意 balance=3 只在 1.4 及其之後版本有, 1.3 沒有。
B. writeType 屬性
負載均衡類型,目前的取值有 3 種:
(1). writeType="0", 全部寫操做發送到配置的第一個 writeHost,第一個掛了切到還生存的第二個
writeHost,從新啓動後已切換後的爲準,切換記錄在配置文件中:dnindex.properties .
(2). writeType="1",全部寫操做都隨機的發送到配置的 writeHost。
(3). writeType="2",沒實現。
c. switchType 屬性,主mysql掛了,從mysql是否提高爲主
-1 表示不自動切換
1 默認值,自動切換
2 基於MySQL 主從同步的狀態決定是否切換
*注意,必須配置爲兩個writeHost節點,一個writeHost節點會出現,主mysql掛了,從mysql(readHost)也掛了.