大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Mycat使用MySQL進行讀寫分離

Mycat使用MySQL進行讀寫分離

更新時間:2021-06-15 16:29:10 來源:動力節點 瀏覽1582次

MyCat作為數據庫的中間件,對于上層應用來說,他就是一個數據庫。因此需要配置數據庫的用戶名,密碼,數據庫名,以及讀寫權限。

下面是MyCat的默認配置(部分):

mycat讀寫分離

server.xml

user節點配置用戶信息,詳細說明如下:

user用戶配置節點

--name登錄的用戶名,也就是連接Mycat的用戶名

--password登錄的密碼,也就是連接Mycat的密碼

--schemas數據庫名,這里會和schema.xml中的配置關聯,多個用逗號分開,例如需要這個用戶需要管理兩個數據庫db1,db2,則配置db1,dbs

我這里修改如下(只需要改動user節點信息即可):

<user name="root">
  <property name="password">123456</property>
  <property name="schemas">db_test</property>
</user>

在schema.xml文件中配置讀寫分離

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
 <!-- 數據庫配置,與server.xml中的數據庫對應 -->
 <schema name="db_test" checkSQLschema="false" sqlMaxLimit="100" dataNode="db_node"></schema>
 <!-- 分片配置 -->
 <dataNode name="db_node" dataHost="db_host" database="db_test" />
 <!-- 物理數據庫配置 -->
 <dataHost name="db_host" maxCon="1000" minCon="10" balance="3"
 writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
 <heartbeat>select user()</heartbeat>
 <!-- can have multi write hosts -->
 <writeHost host="hostM1" url="mysql_master:3306" user="root"
 password="apple">
 <!-- can have multi read hosts -->
 <readHost host="hostS2" url="mysql_slaver:3306" user="root" password="apple" />
 </writeHost>
 </dataHost>
</mycat:schema>

這里有幾個配置需要說明下:

sqlMaxLimit配置默認查詢數量

database為真實數據庫名

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

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

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

balance="3",所有讀請求隨機的分發到wiriterHost對應的readhost執行,writerHost不負擔讀壓力,注意balance=3只在1.4及其以后版本有,1.3沒有。

writeType="0",所有寫操作發送到配置的第一個writeHost,第一個掛了切到還生存的第二個writeHost,重新啟動后已切換后的為準,切換記錄在配置文件中:dnindex.properties.

writeType="1",所有寫操作都隨機的發送到配置的writeHost。

writeType="2",沒實現。

-1表示不自動切換

1默認值,自動切換

2基于MySQL主從同步的狀態決定是否切換

啟動mycat

在mycat所在的服務器啟動

./mycat start
mysql -uroot -p123456 -P8066 -h127.0.0.1
#stop
./mycat stop

連上之后跟普通的MySQL一模一樣

使用Navicat連接mycat

在外網(相對虛擬機而言)訪問mycat,需要配置ip白名單。

配置文件在server.xml中

<!-- 全局SQL防火墻設置 -->
<firewall>
 <whitehost>
 <host host="192.168.74.1" user="root"/>
 <host host="127.0.0.1" user="root"/>
 </whitehost>
 <blacklist check="false">
 </blacklist>
l</firewall>

這里192.168.74.1為我本機相對虛擬機的ip地址,這里要說明下,如果配置了ip白名單,則127.0.0.1也是要加上才能本地訪問的,不然會被拒絕掉。

mycat讀寫分離

示例

這里的common是我本地在host文件里設置了映射到mycat所在虛擬機的ip。

這里可以通過在mycat中插入數據檢測是否主從復制配置成功,通過修改從數據庫的數據來驗證是否讀寫進行分離。

mycat讀寫分離

結果

可以看到,mycat讀取的是從庫的數據 。這說明了,mycat讀寫分離功能已經實現了。

以上就是動力節點Java培訓機構的小編針對“Mycat使用MySQL進行讀寫分離”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠色综合网 | 岛国片欧美一级毛片 | 欧美午夜精品 | 成人精品亚洲人成在线 | 久久黄色影片 | ww久久| 欧美毛片在线 | 国产亚洲精品激情一区二区三区 | 中文字幕人成不卡一区 | 久久久噜噜噜www成人网 | 可以看美女隐私的网站 | 成人黄色网 | 欧美日韩福利视频一区二区三区 | 四虎最新网址入口 | 亚洲国产精品久久 | www.四虎在线 | 九九免费在线视频 | 国产一级毛片免 | 狠色狠色狠狠色综合久久 | 久久久精品午夜免费不卡 | 日韩经典欧美一区二区三区 | 天天操狠狠| 看特级大黄一片 | 国产精品香蕉在线一区 | 色婷婷久久合月综 | 激情五月婷婷网 | 四虎久久久 | 99热久久精品最新 | 日日日日日日bbbbb视频 | videos欧美黑白爆交 | 久草在线观看视频 | 国产69精品久久久久999小说 | 欧洲毛片 | 亚洲成人网在线播放 | 国产亚洲日本人在线观看 | 美女视频免费在线观看 | 国产91久久最新观看地址 | 国内一区二区 | 精品国产日韩久久亚洲 | 韩国亚洲伊人久久综合影院 | 精品日本一区二区 |