更新時間:2020-12-11 16:01:50 來源:動力節點 瀏覽1434次
Mycat是一個開源數據庫中間件,是一個實現了MySQL協議的的數據庫中間件服務器,前端用戶可以把它看作是一個數據庫代理,用MySQL客戶端工具和命令行訪問,而其后端可以用MySQL原生(Native)協議與多個MySQL服務器通信,也可以用JDBC協議與大多數主流數據庫服務器通信。
Mycat發展到目前,已經不是一個單純的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL等主流數據庫,也支持MongoDB這種新型NoSQL方式的存儲,未來還會支持更多類型的存儲。而在最終用戶看來,無論是那種存儲方式,在Mycat里,都是一個傳統的數據庫表,支持標準的SQL語句進行數據的操作,這樣一來,對前端業務系統來說,可以大幅降低開發難度,提升開發速度。
Mycat配置
為了快速跑起一個Mycat demo,我們先在本地數據庫里面建立test1和test2數據庫,創建一個名為opt的表,字段為id(int)及name(varchar)
Mycat的主要配置文件在其conf目錄下面,分別是server.xml、schema.xml和rule.xml,為快速啟動mycat,我們按照配置的順序和主要配置項說明。
1)server.xml
這里主要配置mycat的用戶和權限信息,這里的賬戶用于后面連接mycat使用。
快速入門可以簡單這樣配置:
schemas是后面schema.xml里面配置的DB,例如:我這里配置了一個用戶名為user,密碼為666666的賬戶,默認只能訪問test的DB
<user name="user"> <property name="password">666666</property> <property name="schemas">test</property> </user>
2)schema.xml
這里主要配置數據庫信息,一個schema就是一個邏輯庫,可以理解為Mycat管理的一個數據庫DB(實際上不存在,是一個虛擬的概念)name屬性和server.xml里面對應。
table是Mycat的邏輯表,這里我們配置一個名為opt的邏輯表
dataNode屬性是將其綁定在真實數據庫中的數據節點中,這里我們配置了兩個dataNode,分別是test1數據庫和test2數據庫,注意,這兩個數據庫的真實表名需和table的name一致
dataHost屬性就是我們熟悉的mysql連接,這里我們都用本地作為一臺服務器,也可以配置不同服務器上的不同mysql,這里還可以配置讀寫分離,我們先不考慮。
rule屬性就是分片規則,這里用的是名稱,需在下一步的rule.xml里面定義好
<schema name="test" checkSQLschema="false" sqlMaxLimit="100"> <!-- 分片表配置 --> <table name="opt" dataNode="dn$1-2" rule="rule1" /> </schema> <dataNode name="dn1" dataHost="localhost1" database="test1" /> <dataNode name="dn2" dataHost="localhost1" database="test2" /> <heartbeat>select user()</heartbeat> <writeHost host="hostS1" url="localhost:3306" user="root" password="666666" /> </dataHost>
3)rule.xml
這里我們主要配置的是分片規則,Mycat支持很多分片規則,我們使用的是一個較為簡單的取模規則,即根據columns標簽里面的id屬性來取模,count屬性定義為數據節點的個數。
<tableRule name="rule1"> <rule> <columns>id</columns> <algorithm>mod-long</algorithm> </rule> </tableRule> <function name="mod-long" class="io.mycat.route.function.PartitionByMod"> <!-- how many data nodes --> <property name="count">2</property> </function>
動力節點推出的Mycat視頻教程全套免費下載,這是一套超級詳細的Mycat培訓視頻,本套Mycat視頻教程適合Mycat分布式數據庫零基礎的學員學習,這套Mycat培訓視頻通俗易懂,是你學習Mycat分布式數據庫的好幫手。
課程學習目錄
1.MyCat視頻教程:背景
2.MyCat視頻教程:MyCat介紹
3.MyCat視頻教程:能做什么-讀寫分離
4.MyCat視頻教程:能做什么-水平拆分
5.MyCat視頻教程:能做什么-垂直拆分
6.MyCat視頻教程:安裝MyCat
7.MyCat視頻教程:配置文件解讀-server文件
8.MyCat視頻教程:配置文件解讀-schema
9.MyCat視頻教程:讀寫分離配置
10.MyCat視頻教程:讀寫分離測試
11.MyCat視頻教程:Java代碼鏈接MyCat
12.MyCat視頻教程:水平拆分
13.MyCat視頻教程:水平拆分測試
14.MyCat視頻教程:垂直拆分
15.MyCat視頻教程:主鍵生成策略
16.MyCat視頻教程:總結
主講老師:動力節點秦老師
講師簡介
沈陽師范大學計算機專業碩士研究生,15年以上軟件研發及管理經驗,曾就職于神州數碼、東軟、甲骨文等知名軟件企業;先后擔任Java高級軟件工程師、項目經理、系統架構師等職務;對JVM及Java的面向對象有很深刻的理解;精通Oracle、MySQL、DB2等底層實現原理;精通Spring、SpringMVC、MyBatis框架下的開發;授課條理清晰,理論與實踐緊密結合,注重學生的動手和應用能力;曾主持開發北京市電信計費系統、某院辦公廳信息系統、遼寧省某市人事局檔案信息管理系統、遼寧沈陽市熱線報修網、甘肅省張掖市小微企業服務發展平臺等中大型項目,擅長企業及互聯網應用層級的高并發和分布式框架。
以上就是對“Mycat視頻講解,入門及應用”的介紹,希望對大家有所幫助,還想學習更多關于Java的課程,可以關注動力節點官網Java視頻教程,免費下載學習。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習