mycat的讀寫分離設置


官網:http://www.mycat.org.cn/

 

一.jdk環境的安裝
1.安裝jdk1.7,這是mycat推薦的jdk環境

2.之前是用yum安裝的jdk1.6,首先查找下

#yum info installed | grep java*

  

3.刪除jdk1.6

#yum remove java-1.6.0-openjdk

  

4.安裝jdk1.7

#yum install java-1.6.0-openjdk

  

 

二.mysql主從配置

 

三.安裝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目錄

2.修改schemma.xml

<?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)也掛了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM