Mycat(入門篇)

Mycat是什么

Mycat是一款基于阿里開源產(chǎn)品Cobar而研發(fā)的開源數(shù)據(jù)庫分庫分表中間件(基于Java語言開發(fā))姑隅。官網(wǎng)所言:Mycat國內(nèi)最活躍的织狐、性能最好的開源數(shù)據(jù)庫中間件谢翎!

  • 一個徹底開源的唆铐,面向企業(yè)應(yīng)用開發(fā)的大數(shù)據(jù)庫集群
  • 支持事務(wù)淮菠、ACID遍愿、可以替代MySQL的加強版數(shù)據(jù)庫
  • 一個可以視為MySQL集群的企業(yè)級數(shù)據(jù)庫存淫,用來替代昂貴的Oracle集群
  • 一個融合內(nèi)存緩存技術(shù)、NoSQL技術(shù)沼填、HDFS大數(shù)據(jù)的新型SQL Server
  • 結(jié)合傳統(tǒng)數(shù)據(jù)庫和新型分布式數(shù)據(jù)倉庫的新一代企業(yè)級數(shù)據(jù)庫產(chǎn)品
  • 一個新穎的數(shù)據(jù)庫中間件產(chǎn)品

Mycat關(guān)鍵特性

  • 支持SQL92標準
  • 支持MySQL桅咆、Oracle、DB2坞笙、SQL Server岩饼、PostgreSQL等DB的常見SQL語法
  • 遵守Mysql原生協(xié)議,跨語言薛夜,跨平臺籍茧,跨數(shù)據(jù)庫的通用中間件代理
  • 基于心跳的自動故障切換,支持讀寫分離梯澜,支持MySQL主從寞冯,以及galera cluster集群
  • 支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster
  • 基于Nio實現(xiàn)晚伙,有效管理線程吮龄,解決高并發(fā)問題
  • 支持數(shù)據(jù)的多片自動路由與聚合,支持sum,count,max等常用的聚合函數(shù),支持跨庫分頁
  • 支持單庫內(nèi)部任意join咆疗,支持跨庫2表join漓帚,甚至基于caltlet的多表join
  • 支持通過全局表,ER關(guān)系的分片策略民傻,實現(xiàn)了高效的多表join查詢
  • 支持多租戶方案
  • 支持分布式事務(wù)(弱xa)
  • 支持XA分布式事務(wù)(1.6.5)
  • 支持全局序列號胰默,解決分布式下的主鍵生成問題
  • 分片規(guī)則豐富场斑,插件化開發(fā),易于擴展
  • 強大的web牵署,命令行監(jiān)控
  • 支持前端作為MySQL通用代理漏隐,后端JDBC方式支持MySQL、PostgreSQL奴迅、Oracle青责、DB2、SQLServer取具、MongoDB脖隶、巨杉
  • 支持密碼加密
  • 支持服務(wù)降級
  • 支持IP白名單
  • 支持SQL黑名單、sql注入攻擊攔截
  • 支持prepare預(yù)編譯指令(1.6)
  • 支持非堆內(nèi)存(Direct Memory)聚合計算(1.6)
  • 支持PostgreSQL的native協(xié)議(1.6)
  • 支持mysql和oracle存儲過程暇检,out參數(shù)产阱、多結(jié)果集返回(1.6)
  • 支持zookeeper協(xié)調(diào)主從切換、zk序列块仆、配置zk化(1.6)
  • 支持庫內(nèi)分表(1.6)
  • 集群基于ZooKeeper管理构蹬,在線升級,擴容悔据,智能優(yōu)化庄敛,大數(shù)據(jù)處理(2.0開發(fā)版)

安裝與使用

  • 下載(目前最新發(fā)行版是1.6.5):http://dl.mycat.io/

  • 安裝:解壓即可

  • 配置:Mycat是基于Java開發(fā)的,確保安裝好了Java環(huán)境科汗,可命令行輸入:java -version 進行測試藻烤。Linux下還需配置Mycat的解壓目錄:vim /etc/profile,配置完成后使用:source /etc/profile:

export JAVA_HOME=xxx
export MYCAT_HOME=xxx
  • 運行(Linux):

    • ./mycat start 啟動
    • ./mycat stop 停止
    • ./mycat console 前臺運行
    • ./mycat install 添加到系統(tǒng)自動啟動(暫未實現(xiàn))
    • ./mycat remove 取消隨系統(tǒng)自動啟動(暫未實現(xiàn))
    • ./mycat restart 重啟服務(wù)
    • ./mycat pause 暫停
    • ./mycat status 查看啟動狀態(tài)
  • 運行(Windows):雙擊bin/tartup_nowrap.bat头滔,如果出現(xiàn)閃退怖亭,可在cmd命令行運行,并查看出錯原因

  • 內(nèi)存配置:啟動前坤检,一般需要修改JVM配置參數(shù)依许,打開conf/wrapper.conf文件,可根據(jù)本機配置情況修改為512M或其它值

# Java Additional Parameters
#wrapper.java.additional.1=
wrapper.java.additional.1=-DMYCAT_HOME=.
wrapper.java.additional.2=-server
wrapper.java.additional.3=-XX:MaxPermSize=64M
wrapper.java.additional.4=-XX:+AggressiveOpts
wrapper.java.additional.5=-XX:MaxDirectMemorySize=2G
wrapper.java.additional.6=-Dcom.sun.management.jmxremote
wrapper.java.additional.7=-Dcom.sun.management.jmxremote.port=1984
wrapper.java.additional.8=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.9=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.10=-Xmx4G
wrapper.java.additional.11=-Xms1G
  • 連接測試:
    • 測試mycat與測試mysql完全一致缀蹄,mysql怎么連接峭跳,mycat就怎么連接
    • 命令行:mysql -uroot -proot -P8066 -h127.0.0.1(其中,user和password可在conf/server.xml配置查找缺前,8066是默認的服務(wù)端口蛀醉,也可以在conf/server.xml中配置修改)
    • 客戶端:1.3和1.4版本目前部分工具無法連接,會提示database not selected衅码,建議使用高版本的Mycat拯刁,1.5版本已經(jīng)修復(fù)了部分客戶端工具的連接

常見分庫分表產(chǎn)品對比

分庫分表產(chǎn)品 MyCat Sharding-JDBC Cobar Cobar-client TDDL
分庫 未開源
分表 未開源
中間層
ORM支持 任意 任意 任意 僅MyBatis 任意
數(shù)據(jù)庫支持 任意 任意 僅MySQL 任意 任意
社區(qū)情況 活躍 活躍 停更 未知 未知

相關(guān)鏈接

Mycat官網(wǎng)
Mycat從零開始
Mycat權(quán)威指南
GitHub:Mycat-Server
Wiki:Mycat-Server
Issues:Mycat-Server
mysql中間件研究(Atlas,Cobar逝段,TDDL)
mysql中間件研究(Atlas垛玻,Cobar割捅,TDDL,Mycat帚桩,Heisenberg亿驾,Oceanus,Vitess账嚎,OneProxy)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市郭蕉,隨后出現(xiàn)的幾起案子疼邀,更是在濱河造成了極大的恐慌,老刑警劉巖旁振,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異涨岁,居然都是意外死亡规求,警方通過查閱死者的電腦和手機卵惦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門瓦戚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沮尿,“玉大人,你說我怎么就攤上這事较解⌒蠹玻” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵印衔,是天一觀的道長啡捶。 經(jīng)常有香客問我,道長奸焙,這世上最難降的妖魔是什么瞎暑? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮与帆,結(jié)果婚禮上了赌,老公的妹妹穿的比我還像新娘。我一直安慰自己玄糟,他們只是感情好勿她,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阵翎,像睡著了一般逢并。 火紅的嫁衣襯著肌膚如雪之剧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天砍聊,我揣著相機與錄音背稼,去河邊找鬼。 笑死辩恼,一個胖子當著我的面吹牛雇庙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灶伊,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼疆前,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了聘萨?” 一聲冷哼從身側(cè)響起竹椒,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎米辐,沒想到半個月后胸完,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡翘贮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年赊窥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狸页。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡锨能,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芍耘,到底是詐尸還是另有隱情址遇,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布斋竞,位于F島的核電站倔约,受9級特大地震影響坝初,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鳄袍,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望畦木。 院中可真熱鬧袖扛,春花似錦、人聲如沸蛆封。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盏筐。三九已至砸讳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間簿寂,已是汗流浹背漾抬。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工常遂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人克胳。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像漠另,于是被迫代替她去往敵國和親捏雌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理性湿,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    草里有只羊閱讀 18,320評論 0 85
  • 需要原文的可以留下郵箱我給你發(fā)嘹锁,這里的文章少了很多圖,懶得網(wǎng)上粘啦 1數(shù)據(jù)庫基礎(chǔ) 1.1數(shù)據(jù)庫定義 1)數(shù)據(jù)庫(D...
    極簡純粹_閱讀 7,421評論 0 46
  • 午后领猾,一人米同, 溫暖的陽光讓人萌生睡意摔竿, 靜靜趴在窗前的書桌上, 眼簾(眉)低垂继低,目光呆滯熬苍, 望著外頭不知名的樹。 ...
    三生石5閱讀 311評論 0 0
  • “英文部分來自經(jīng)濟學人柴底,譯文僅供個人研習、欣賞語言之用柄驻,謝絕任何轉(zhuǎn)載及用于任何商業(yè)用途狐树。本譯文所涉法律后果均由本人...
    檸檬一小顆閱讀 361評論 0 2