Mycat讀寫分離

引用的原文:https://blog.csdn.net/qq_35992900/article/details/80673889

mycat讀寫分離簡單架構圖:

這厚厚的水印老繭。。。

安裝

#安裝Java環(huán)境(mycat基于java)

yum install java-1.8.0-openjdk.x86_64

# 下載mycat

wget http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz

# 解壓

tar -zxvf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz

# 剪切到/usr/local下

mv mycat /usr/local/

# 創(chuàng)建專門運行mycat賬號

adduser mycat

# 切換到mycat文件夾路徑下

cd /usr/local

# 將文件權限賦給mycat賬號

chown mycat:mycat -R mycat

#配置環(huán)境變量并添加 export JAVA_HOME=/usr export MYCAT_HOME=/usr/local/mycat(如下圖所示)

vim /etc/profile

# 刷新環(huán)境變量文件

source /etc/profile

# 切換mycat用戶

su mycat#切換目錄

cd /usr/local/mycat/bin/

#啟動

mycat./mycat start

目錄結構

配置修改

結構圖:

schema.xml讀寫分離配置:

server.xml連接配置:

連接

通過工具Navicat Premium測試是否可以連接

成功連接后配置java應用程序連接

就是將原來的IP+端口改為mycat的IP+端口

測試:

我這里是通過Navicat Premium分別連接主庫和從庫,需要斷開主從連接

訪問java應用提供的web頁面

修改我的賬號信息,例如名稱

修改操作為寫入操作,所以查看主庫會發(fā)現(xiàn)對應的表中數(shù)據(jù)發(fā)生變化,而從庫未變化

因為讀取是從從庫,所以刷新web頁面,賬戶信息會重新顯示回原來的信息,也就是從庫的信息。


ps:如果測試寫入讀取操作都是在主庫上執(zhí)行的,可以檢查一下dataHost中的balance="1" 配置是否為1,為0會出現(xiàn)此錯誤。

原因如下

1. balance=“0”, 所有讀操作都發(fā)送到當前可用的writeHost上。

2. balance=“1”,所有讀操作都隨機的發(fā)送到readHost。

3. balance=“2”,所有讀操作都隨機的在writeHost、readhost上分發(fā)


以下內容引用原文:http://m.itdecent.cn/p/c6e29d724fca

WriteType參數(shù)設置:

1. writeType=“0”, 所有寫操作都發(fā)送到可用的writeHost上。

2. writeType=“1”,所有寫操作都隨機的發(fā)送到readHost。

3. writeType=“2”,所有寫操作都隨機的在writeHost、readhost分上發(fā)。

?“readHost是從屬于writeHost的,即意味著它從那個writeHost獲取同步數(shù)據(jù),因此,當它所屬的writeHost宕機了,則它也不會再參與到讀寫分離中來,即“不工作了”,這是因為此時,它的數(shù)據(jù)已經(jīng)“不可靠”了?;谶@個考慮,目前mycat 1.3和1.4版本中,若想支持MySQL一主一從的標準配置,并且在主節(jié)點宕機的情況下,從節(jié)點還能讀取數(shù)據(jù),則需要在Mycat里配置為兩個writeHost并設置banlance=1?!?/p>

(2)設置switchType="2" 與slaveThreshold="100"

switchType 目前有三種選擇:

-1表示不自動切換

1 默認值,自動切換

2 基于MySQL主從同步的狀態(tài)決定是否切換

“Mycat心跳檢查語句配置為 show slave status ,dataHost 上定義兩個新屬性: switchType="2" 與slaveThreshold="100",此時意味著開啟MySQL主從復制狀態(tài)綁定的讀寫分離與切換機制。Mycat心跳機制通過檢測 show slave status 中的 "Seconds_Behind_Master", "Slave_IO_Running", "Slave_SQL_Running" 三個字段來確定當前主從同步的狀態(tài)以及Seconds_Behind_Master主從復制時延?!?/p>


本文引用的原文鏈接:

http://m.itdecent.cn/p/c6e29d724fca

https://blog.csdn.net/qq_35992900/article/details/80673889

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 轉自http://blog.csdn.net/jaysonhu/article/details/52858535 ...
    末日的殘酷閱讀 604評論 0 1
  • 前言 數(shù)據(jù)庫讀寫分離對于大型系統(tǒng)或者訪問量很高的互聯(lián)網(wǎng)應用來說,是必不可少的一個重要功能;對于MySQL來說,標準...
    小牛學堂閱讀 652評論 0 1
  • 綠蟻新焙酒, 紅泥小火爐。 晚來天欲雪, 能飲一杯無。 溫酒待清客 呀響云風來 二兩逐三兩 紅透遠山岱
    青竹青涵閱讀 216評論 0 1
  • 君之所貴者,仁也;臣之所貴者,忠也。 父之所貴者,慈也;子之所貴者,孝也。 兄之所貴者,友也;弟之所貴者,...
    宣成子閱讀 1,178評論 0 0
  • 今天原本是失控的一天。早晨起晚了,耽誤原本的復習計劃。因為一點點小事,突然像被點著了一樣,情緒失控、發(fā)脾氣。本來不...
    肖肖愛吃魚閱讀 585評論 0 0

友情鏈接更多精彩內容