天天看點

Mycat的安裝與讀寫分離配置

Mycat:

一個可以用于MySQL讀寫分離和高可用的中間件

一個模拟為MySQL Server的超級資料庫

一個能平滑擴充支援1000億大表的分布式資料庫系統

一個可管控多種關系資料庫的資料庫路由器

一個平滑從關系資料更新到大資料的應用中間件

準備工作:

兩台mysql伺服器(一主一從),一台mycat伺服器,一台mysql客戶機進行驗證

為了友善,關閉所有主機防火牆

1.   配置mysql主從同步

Mycat的安裝與讀寫分離配置

建立資料庫db1,db2,db3

建立表db1—test1,db2—test2,db3—test3

建立授權使用者grant all on *.* to 'root'@'%' identified by '123456';

2.   mycat是由java開發的,是以需要先安裝java,版本1.7以上

tar  zxf  jdk-8u20-linux-x64.tar.gz

mv  jdk1.8.0_20/  /usr/local/

添加環境變量(vim /etc/profile)

export  JAVA_HOME=/usr/local/jdk1.8.0_20

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

Mycat的安裝與讀寫分離配置

3.   從官網下載下傳mycat,并解壓

tar  zxf  Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

mv mycat/ /usr/local/

添加環境變量

export  PATH=$PATH:/usr/local/mycat/bin

4.   配置

-bin :啟動目錄

-conf :配置檔案

--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中,每天一個檔案

邏輯庫配置

配置server.xml

Mycat的安裝與讀寫分離配置

配置schema.xml

這裡需要注意的是 balance, switchType, writeType

balance="0", 不開啟讀寫分離機制,所有讀操作都發送到目前可用的writeHost上。

balance="1",全部的readHost與stand by writeHost參與select語句的負載均衡,簡單的說,當雙主雙從模式(M1->S1,M2->S2,并且M1與M2互為主備),正常情況下,M2,S1,S2都參與select語句的負載均衡。

balance="2",所有讀操作都随機的在writeHost、readhost上分發。

balance="3",所有讀請求随機的分發到wiriterHost對應的readhost執行,writerHost不負擔讀壓力

writeType表示寫模式

writeType="0",所有的操作發送到配置的第一個writehost

writeType="1",随機發送到配置的所有writehost

writeType="2",不執行寫操作

switchType指的是切換的模式,目前的取值也有4種:

switchType=‘-1‘ 表示不自動切換

switchType=‘1‘ 預設值,表示自動切換

switchType=‘2‘ 基于MySQL主從同步的狀态決定是否切換,心跳語句為show slave status

switchType=‘3‘基于MySQL galary cluster的切換機制(适合叢集)(1.4.1),心跳語句為show status like ‘wsrep%‘

5.啟動mycat

cd  /usr/local/mycat/bin

./mycat  start

Mycat的安裝與讀寫分離配置

6.客戶機登入

mysql -uroot -p123456 -P8066 –h mycat伺服器IP

7.驗證

關閉主從同步stop slave;

 往mycat插入一條資料,送出重新整理

觀察剛插入的資料,發現mycat并沒檢視到這條資料

 觀看主庫,發現主庫有這條通過mycat添加的資料

 觀看從庫,發現從庫沒有通過mycat添加的資料

 開啟從資料庫主從同步start slave;

通過從庫檢視發現有剛新添加的資料

通過mycat檢視發現也有這條剛添加的資料

繼續閱讀