mycat的讀寫分離設置

官網: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)也掛了.

相關文章
相關標籤/搜索