大型分佈式數據庫中間件MyCat的安裝與使用

官網資料

MyCat官網:www.mycat.io/算法

MyCat權威指南:www.mycat.io/document/My…數據庫

MyCat下載地址:dl.mycat.io/後端

MyCat下載

下載以後解壓爲以下:bash

這裏寫圖片描述

MySQL環境搭建

一、MySQL主機地址:192.168.1.23五、192.168.1.237服務器

這裏寫圖片描述

二、192.168.1.23五、192.168.1.237的mycat_demo 表徹底同樣,這裏能夠任意建表,只要保持兩個主機MySQL的庫、表一致:微信

這裏寫圖片描述

表結構:網絡

這裏寫圖片描述

MyCat配置

配置文件是在/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" />
複製代碼

表明具體的數據庫表中的studentdataNode 是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對應functionname

MyCat啓動

由於我這裏是在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,獲取學習資源

在這裏插入圖片描述

【視頻福利】2T免費學習視頻,搜索或掃描上述二維碼關注微信公衆號:Java後端技術(ID: JavaITWork)回覆:1024,便可免費獲取!內含SSM、Spring全家桶、微服務、MySQL、MyCat、集羣、分佈式、中間件、Linux、網絡、多線程,Jenkins、Nexus、Docker、ELK等等免費學習視頻,持續更新!

相關文章
相關標籤/搜索