mycat讀寫分離配置

2022-05-07 10:57:10 字數 2608 閱讀 8521

mycat是一款開源的資料庫中介軟體,其官網為其中官方對它介紹為:

mycat 是乙個強大的資料庫中介軟體,不僅僅可以用作讀寫分離、以及分表分庫、容災備份,而且可以用於多租戶應用開發、雲平台基礎設施、讓你的架構具備很強的適應性和靈活性,借助於即將發布的mycat 智慧型優化模組,系統的資料訪問瓶頸和熱點一目了然,根據這些統計分析資料,你可以自動或手工調整後端儲存,將不同的表對映到不同儲存引擎上,而整個應用的**一行也不用改變。
mycat的實現原理為:

mycat 的原理中最重要的乙個動詞是「攔截」,它攔截了使用者傳送過來的sql 語句,首先對sql 語句做了一些特定的分析:如分片分析、路由分析、讀寫分離分析、快取分析等,然後將此sql 發往後端的真實資料庫,並將返回的結果做適當的處理,最終再返回給使用者。
ip

系統軟體

備註192.168.23.128

centos7.7

mycat

192.168.23.128

centos7.7

jdk1.8

192.168.23.128

centos7.7

mysql5.7.29

主庫192.168.23.132

centos7.7

jdk1.8

192.168.23.132

centos7.7

mysql5.7.29

從庫主要結構如下

此處省略配置過程

版本

# 解壓

tar -zxvf mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz

# 移動到/web/soft/下

mv mycat /web/soft

# 將檔案許可權賦給mycat賬號

chown mycat:mycat -r /web/soft/mycat

#配置環境變數到 /etc/bashrc /etc/profile

echo 'export mycat_home=/web/soft/mycat' >> /etc/profile

echo 'export mycat_home=/web/soft/mycat' >> /etc/bashrc

配置mycat的schema.xml檔案,該檔案位於mycat中conf資料夾下,配置如下:

<?xml version="1.0"?>

select user()

其中:

schema 標籤用於定義mycat 例項中的邏輯庫,mycat 可以有多個邏輯庫,每個邏輯庫都有自己的相關配置。可以使用schema 標籤來劃分這些不同的邏輯庫。

datanode 標籤定義了mycat 中的資料節點,也就是我們通常說所的資料分片。乙個datanode 標籤就是乙個獨立的資料分片。

datahost標籤直接定義了具體的資料庫例項、讀寫分離配置和心跳語句。其中有幾個重要的屬性:

balance屬性

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

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 不負擔讀壓

力,注意balance=3 只在1.4 及其以後版本有,1.3 沒有。

writetype 屬性

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

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

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

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

配置server.xml,即主要配置連線mycat的使用者賬號資訊,即:

test_2020

mycat_test1

mycat_test1

即配置乙個使用者名為root,密碼為test_2020的使用者,同時具有mycat_test1模式下的讀寫許可權,注意該模式即是在schema.xml配置檔案定義的模式名一樣。

啟動mycat,即:

./mycat start
mycat啟動成功後,會開放兩個埠,即資料埠8066,管理埠9066

應用的資料庫連線配置資訊用8066埠,同時使用者也是server.xml配置檔案中配置的使用者。

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 讀寫分離

在此之前,我們需要安裝雙主雙從的mysql資料庫 還需要安裝mycat select user 然後重啟mycat,即可生效。配置檔案屬性解釋 修改的balance屬性,通過此屬性配置讀寫分離的型別 負載均衡型別,目前的取值有4 種 balance 0 不開啟讀寫分離機制,所有讀操作都傳送到當前可用...