mycat 讀寫分離

2021-10-23 09:47:27 字數 2003 閱讀 9587

在此之前,我們需要安裝雙主雙從的mysql資料庫

還需要安裝mycat

<?xml version="1.0"?>

select user()

然後重啟mycat,即可生效。 

配置檔案屬性解釋

修改的balance屬性,通過此屬性配置讀寫分離的型別

負載均衡型別,目前的取值有4 種:

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",所有讀請求隨機的分發到 readhost 執行, writerhost 不負擔讀壓力

寫策略:

writetype="0": 所有寫操作傳送到配置的第乙個writehost,第乙個掛了切到還生存的第二個

writetype="1",所有寫操作都隨機的傳送到配置的 writehost, 1.5 以後廢棄不推薦

writehost,重新啟動後以切換後的為準,切換記錄在配置檔案中:dnindex.properties 。

資料庫主備切換策略 

switchtype="1":

配置檔案標籤解釋

schema:邏輯庫,與mysql中的database(資料庫)對應,乙個邏輯庫中定義了所包括的table。 

table:邏輯表,即物理資料庫中儲存的某一張表,與傳統資料庫不同,這裡的**需要宣告其所儲存的邏輯資料節點datanode。在此可以指定表的分片規則。 

datanode:mycat的邏輯資料節點,是存放table的具體物理節點,也稱之為分片節點,通過datasource來關聯到後端某個具體資料庫上 

在寫主機master1資料庫表mytbl(這個表一定要在同步的庫中,這樣才能讓從機去複製資料)中插入帶系統變數資料, 造成主從資料不一致

#登入資料庫

mysql -uroot -p123456

#使用zhao庫,這個一定時要同步的庫

use zhao

#插入帶系統變數的值

insert into mytbl values(3,@@hostname);

然後四個庫中插入的資料為

在mycat中鏈結資料庫,通過讀寫分離的模式,而且選擇的負載均衡策略為1,除了第一台寫主機之外,都用來讀,所以我們使用mycat來運算元據庫,能查到zk2,zk4,zk5即可。

然後登陸mycat的資料操作視窗

#130伺服器安裝了mycat

mysql -umycat -p123456 -h 192.168.157.130 -p8066

切換資料庫 

use testdb
然後執行sql語句

select * from mytbl;
多執行查詢幾次,我們就能看到除了第一台讀主機(我配置的事130,就是zk2讀看不到)之外的所有結果了。

mycat讀寫分離

一 安裝mycat wget tar zxvf mysql proxy 0.8.4 linux glibc2.3 x86 64bit.tar.gz mv mycat usr local 二 配置mycat 1 配置讀寫庫 vi schema.xml 將之前的所有資料刪除改為下面 特別注意schema...

mycat讀寫分離

準備環境 虛擬主機 centos7.5版本,ip位址為 192.168.1.10 192.168.1.12 192.168.1.13 192.168.1.14 192.168.1.15 192.168.1.16 修改mycat配置檔案 schema.xml vim usr local mycat c...

mycat讀寫分離配置

mycat是一款開源的資料庫中介軟體,其官網為其中官方對它介紹為 mycat 是乙個強大的資料庫中介軟體,不僅僅可以用作讀寫分離 以及分表分庫 容災備份,而且可以用於多租戶應用開發 雲平台基礎設施 讓你的架構具備很強的適應性和靈活性,借助於即將發布的mycat 智慧型優化模組,系統的資料訪問瓶頸和熱...