【Mycat】Mycat故障轉移之writetype與switchtype
1.配置檔案如下:
-
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="2"
-
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
-
<heartbeat>select user()</heartbeat>
-
<!-- can have multi write hosts -->
-
<writeHost host="hostM1" url="192.168.6.121:3306" user="root"
-
password="ESBecs00">
-
<!-- can have multi read hosts -->
-
</writeHost>
-
-
-
<writeHost host="hostS1" url="192.168.6.121:3307" user="root"
-
password="ESBecs00">
-
<!-- can have multi read hosts -->
-
</writeHost>
- </dataHost>
writeType屬性
-
負載均衡型別,目前的取值有3種:
-
1. writeType="0", 所有寫操作傳送到配置的第一個writeHost,第一個掛了切到還生存的第二個writeHost,重新啟動後已切換後的為準,切換記錄在配置檔案中:dnindex.properties .
-
2. writeType="1",所有寫操作都隨機的傳送到配置的writeHost。
- 3. writeType="2",沒實現。
switchtype屬性如下(控制自動切換的)
2 模擬資料庫down機
-
2.1 主庫down機
-
[root@localhost ~]# /etc/init.d/mysql stop
Shutting down MySQL.... [確定]
-
-
2.2 mycat插入資料
-
mysql> insert into zs values (2),(3);
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
-
-
2.3 檢視備庫
-
mysql> select * from zs;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
+------+
3 rows in set (0.00 sec)
資料傳送至備庫,可見已切換成功 -
-
2.4 主庫恢復
-
[root@localhost ~]# /etc/init.d/mysql start
Starting MySQL. [確定]
-
2.5 再次插入資料,並檢視從和主
-
mycat> insert into zs values (4),(5);
-
-
從上:mysql> select * from zs;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+------+
-
主上:mysql> select * from zs;
+------+
| id |
+------+
| 1 |
+------+
1 row in set (0.00 sec)
- 透過上面的步驟可以發現,主庫down掉後 就以從庫為準了,就算主庫恢復了,還是以從庫為準,所以搭個雙主是最好的解決辦法
- 可以看下切換的記錄檔案
-
[root@localhost conf]# more dnindex.properties
#update
#Fri Apr 21 13:40:09 CST 2017
localhost3=0
localhost2=0
localhost1=1 ###使用第二個writehost
- 將新的主庫down機 再恢復,又切換回原主庫了
-
[root@localhost conf]# more dnindex.properties
#update
#Fri Apr 21 13:56:09 CST 2017
localhost3=0
localhost2=0
localhost1=0 ###使用第一個writehost
#這0和1代表的就是寫入時使用第幾個writehost的意思了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2137743/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Mycat】Mycat核心開發者帶你輕鬆掌握Mycat路由轉發!!路由
- 【Mycat】Mycat讀寫分離與負載均衡2負載
- Mycat監控工具Mycat-webWeb
- MyCat入門篇-什麼是MyCat
- 【Mycat】Mycat核心開發者帶你看盡Mycat三大核心配置檔案
- 【Mycat】作為Mycat核心開發者,怎能不來一波Mycat系列文章?
- MyCAT詳解
- 【mycat】mycat中配合mysql自增主鍵的使用MySql
- 白話MyCat——MyCat部署執行(Linux環境)與使用步驟詳解Linux
- 1、MyCat入門
- MyCat的快速搭建
- Mycat垂直分庫
- Mycat 安裝配置
- 【mycat】mycat在windows環境下的安裝和啟動Windows
- Linux MySQL分庫分表之MycatLinuxMySql
- Mycat Web監控工具Web
- docker中安裝mycatDocker
- mycat 資料彙總
- Mycat 全域性系列號
- .netcore微服務-MycatNetCore微服務
- mycat配置分庫分表
- Mycat分庫分表配置
- Mycat分庫分表(一)
- Mycat關鍵特性介紹
- MySQL運維5-Mycat配置MySql運維
- Mycat中的特性----資料分片
- Mycat分表分庫原則
- MyCAT原始碼分析——分析環境部署原始碼
- 高可用Mysql架構_Mycat叢集部署(HAProxy + 兩臺Mycat+Mysql雙主雙從)MySql架構
- mysql學習筆記之快速搭建PXC叢集(Mycat分片)MySql筆記
- MySQL運維4-Mycat入門MySql運維
- MyCAT高可用方案和架構圖架構
- Mycat讀寫分離配置實踐
- sysbench壓測MyCAT的shell指令碼指令碼
- MySQL運維12-Mycat分庫分表之按天分片MySql運維
- redis健康檢查與故障轉移Redis
- MyCat分庫分表、讀寫分離
- MySQL運維6-Mycat垂直分庫MySql運維