中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mycat學習實戰-Mycat基本功能

發布時間:2020-06-25 06:18:01 來源:網絡 閱讀:993 作者:ygqygq2 欄目:MySQL數據庫

Mycat學習實戰-Mycat基本功能


學習 mycat mysql



  • Mycat學習實戰-Mycat基本功能
  • 1. Mycat高可用-讀寫分離

    • 1.1 讀寫分離配置參數

    • 1.2 心跳配置參數

  • 2. Mycat高可用-多主切換

    • 2.1 主從切換配置參數

    • 2.2 主從切換標記

  • 3 注解


1. Mycat高可用-讀寫分離

Mycat學習實戰-Mycat基本功能

1.1 讀寫分離配置參數

Schema.dataHost 參數balance設置值:

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

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

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

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

事務內的SQL,默認走寫節點,以注釋/balance/開頭,則會根據balance=“1”或“2”去獲取 b. 
非事務內的SQL,開啟讀寫分離默認根據balance=“1”或“2”去獲取,以注釋/balance/開頭則會走寫解決部分已 
經開啟讀寫分離,但是需要強一致性數據實時獲取的場景走寫

1.2 心跳配置參數

switchType=“1” :基于基本的表訪問判斷 
schema.xml

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0"dbType="mysql" dbDriver="native" switchType=“1" slaveThreshold="100"><heartbeat>select user()</heartbeat><writeHost host="hostM1" url="localhost:3306" user="root“ password="123456" /><writeHost host="hostS1" url="localhost:3316" user="root“ password="123456" /></dataHost>

switchType=“2” : show slave status會顯示主從同步狀態 
schema.xml

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0"dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100"><heartbeat>show slave status </heartbeat><writeHost host="hostM1" url="localhost:3306" user="root“ password="123456" /><writeHost host="hostS1" url="localhost:3316" user="root“ password="123456" /></dataHost>

Mycat心跳機制通過檢測 show slave status 中的 “Seconds_Behind_Master”, “Slave_IO_Running”, “Slave_SQL_Running” 三個字段來確定當前主從同步的狀態以及Seconds_Behind_Master主從復制時延,當Seconds_Behind_Master>slaveThreshold時,讀寫分離篩選器會過濾掉此Slave機器。

switchType=”3” ,MyCAT心跳檢查語句配置為 show status like ‘wsrep%’ ,開啟MySQL集群復制狀態狀態綁定的讀寫分離與切換機制 
schema.xml

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0"dbType="mysql" dbDriver="native" switchType="3" ><heartbeat> show status like ‘wsrep%’</heartbeat><writeHost host="hostM1" url="localhost:3306" user="root“ password="123456"> </writeHost><writeHost host="hostS1“ url="localhost:3316"user="root“ password="123456" ></writeHost></dataHost>

配置文件:conf/log4j2.xml 
日志文件:logs/mycat.log 
說明:修改log4j日志收集為debug方式,通過log信息可以分析出來是否讀寫分離發 
生在那個節點

2. Mycat高可用-多主切換

Mycat學習實戰-Mycat基本功能

2.1 主從切換配置參數

schema.xml

<dataHost name="dh-01" maxCon="1000" minCon="10" balance="1“ writeType="0"dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"><heartbeat>select user()</heartbeat><writeHost host="hostM1" url="localhost:3306" user="root“ password="root"></writeHost><writeHost host="hostS1" url="localhost:3306" user="root“ password="root"></writeHost></dataHost>

需要配置多個writeHost節點

switchType屬性 
-1 表示不自動切換 
1 默認值,自動切換 
2 基于MySQL主從同步的狀態決定是否切換 ,心跳語句為show slave status 
3 基于MySQL galary cluster的切換機制(適合集群)心跳語句為 show status like ‘wsrep%’

2.2 主從切換標記

conf/dnindex.properties

#update#Tue Jul 25 14:20:40 CST 2017dh-01=0

使用中注意事項: 
前提是的配置至少2個writeHost 
并且開啟自動切換 
能不自動切就別自動切 
能手動執行就不要自動 
數據丟失問題 
原主加入后當從

3 注解

mycat對不支持的sql提供一種方案即為注解(在要執行的sql語句前添加額外的一段由注解sql組成的代碼,這樣sql就能正確執行,相當于對不支持的sql語句做了一層透明代理轉發。) 
形式是: 
/*!mycat: sql=Sql語句*/真正執行Sql 
注解支持的’!’不被 mysql 單庫兼容, 
注解支持的’#’不被 mybatis 兼容 
新增加 mycat 字符前綴標志 Hintsql:”/* mycat: /”

參數說明整理列表:

Mycat學習實戰-Mycat基本功能

參考資料: 
[1] http://mycat.io/ 
[2] 《分布式數據庫架構及企業實踐——基于Mycat中間件》 
[3] 龍哥官方課程課件


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邳州市| 五大连池市| 昌吉市| 阆中市| 阿合奇县| 息烽县| 内江市| 姚安县| 万盛区| 青州市| 新乐市| 张家界市| 宝丰县| 哈巴河县| 顺昌县| 麻栗坡县| 永济市| 梅州市| 古交市| 遂平县| 天气| 三门县| 宁陵县| 元谋县| 大城县| 鱼台县| 红河县| 津市市| 武夷山市| 勃利县| 句容市| 松原市| 子洲县| 庆城县| 西平县| 苏尼特左旗| 顺平县| 定边县| 和顺县| 张掖市| 丹棱县|