MyCat官網:www.mycat.io/算法
MyCat權威指南:www.mycat.io/document/My…數據庫
MyCat下載地址:dl.mycat.io/後端
下載以後解壓爲以下:bash
一、MySQL主機地址:192.168.1.23五、192.168.1.237服務器
二、192.168.1.23五、192.168.1.237的mycat_demo
表徹底同樣,這裏能夠任意建表,只要保持兩個主機MySQL的庫、表一致:微信
表結構:網絡
配置文件是在/conf
目錄下,默認修改紅色區域文件便可使用:多線程
一、修改server.xml
,這裏只修改鏈接MyCat的用戶名和密碼,以下:分佈式
其中schemas
是邏輯庫,在後邊的配置會用到,這裏配置了一個邏輯庫爲:MYCAT_DEMO
。微服務
二、修改schema.xml
文件,配置邏輯庫:
在MyCat中schema
是邏輯庫,schema
標籤下的table
是邏輯表,其中:
<table name="event" primaryKey="eventid" dataNode="dn1,dn2" rule="sharding-by-murmur" />
複製代碼
表明具體的數據庫表中的student
,dataNode
是MyCat中的分片節點,rule
對使用這種表的路由規則。
<dataNode name="dn1" dataHost="db235" database="mycat_demo" />
複製代碼
dataNode
節點中的name
就是上述table
節點中使用到的dataNode
名稱,dataHost
是具體每個數據庫服務器的節點名稱,在下邊進行配置的,database
就是該節點中具體存在的一個數據庫。
這個配置的就是具體的某一個MySQL服務器節點的,這裏配置的意思是:對於該dataHost
全部的讀寫都發生在192.168.1.235
主機上。
關於更多參數能夠參考:MyCat權威指南(下載地址:www.mycat.io/document/My…
文檔介紹的很詳細,每個屬性都有介紹到,這裏再也不贅述。
三、修改rule.xml
,配置路由規則:
在schema.xml
文件中的邏輯表event
使用的邏輯規則是sharding-by-murmur
,所以就須要在rule.xml
中進行配置,這個路由規則是Hash一致性算法。
-- colums表示須要分片的屬性,我這裏是eventid
; -- property->count是在schema.xml
中咱們配置的分片的個數,即dataNode
的個數,我這裏是2;
這個是rule.xml
提供的,我這裏只是刪除了其餘未使用的路由規則,方便查看,也就是說,咱們是使用了MyCat提供給咱們的這個路由規則,因此不用修改這個文件的任何內容。
各個標籤的對應關係很好理解,algorithm
中的murmur
對應function
的name
。
由於我這裏是在Window平臺上作的實驗,啓動文件在/bin
目錄下:
這裏咱們直接雙擊:startup_nowrap.bat
便可運行。
啓動不報錯,即表示成功運行。
因爲使用MyCat和使用普通的MySQL數據庫是同樣的,所以咱們能夠直接使用Navicat直接進行連接:
默認端口爲:8066
能夠看到咱們在schema.xml
文件中配置的邏輯庫和邏輯表。
能夠看出徹底和使用普通的MySQL同樣的,固然在代碼中使用也是同樣的,只須要把連接換成MyCat的便可。例如我配置的一個c3p0鏈接池以下:
至此,MyCat的安裝於基本的使用完成,更多MyCat的使用,請參照:MyCat權威指南(下載地址:www.mycat.io/document/My…
更多MyCat學習資料,掃碼關注微信公衆號:Java後端技術,發送:MyCat,獲取學習資源