




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄1 Mycat概述 12 讀寫分離 32.1 讀寫分離定義 32.2 優(yōu)缺點 43 安裝環(huán)境 44 Mycat安裝配置 44.1 首先確認Mycat服務器網(wǎng)絡(luò)是否聯(lián)通 44.2 檢查JAVA版本 54.3 下載Mycat安裝包 54.4 解壓縮安裝包 54.5 增加Mycat相關(guān)的環(huán)境變量 54.6 修改Mycat配置文件 64.6.1 修改server.xml 64.6.2 修改schema.xml 64.7 啟動Mycat 74.8 連接Mycat 74.9 查看Mycat邏輯庫 84.10 關(guān)閉Mycat服務 85 讀寫分離驗證 8Mycat概述Mycat從定義和分類來看,它是一個開源的分布式數(shù)據(jù)庫系統(tǒng),是一個實現(xiàn)了MySQL協(xié)議的服務器,前端用戶可以把它看作是一個數(shù)據(jù)庫代理,用MySQL客戶端工具和命令行訪問,而其后端可以用MySQL原生協(xié)議與多個MySQL服務器通信,也可以用JDBC協(xié)議與大多數(shù)主流數(shù)據(jù)庫服務器通信,其核心功能是分表分庫,即將一個大表水平分割為N個小表,存儲在后端MySQL服務器里或者其他數(shù)據(jù)庫里。MyCat發(fā)展到目前的版本,已經(jīng)不是一個單純的MySQL代理了,它的后端可以支持MySQL、SQLServer、Oracle、DB2、PostgreSQL等主流數(shù)據(jù)庫,也支持MongoDB這種新型NoSQL方式的存儲,未來還會支持更多類型的存儲。而在最終用戶看來,無論是那種存儲方式,在MyCat里,都是一個傳統(tǒng)的數(shù)據(jù)庫表,支持標準的SQL語句進行數(shù)據(jù)的操作,這樣一來,對前端業(yè)務系統(tǒng)來說,可以大幅降低開發(fā)難度,提升開發(fā)速度。Mycat架構(gòu)圖Mycat支持基于MySQL主從復制狀態(tài)的高級讀寫分離控制機制讀寫分離讀寫分離定義為了確保數(shù)據(jù)庫產(chǎn)品的穩(wěn)定性,很多數(shù)據(jù)庫擁有雙機熱備功能。也就是,第一臺數(shù)據(jù)庫服務器,是對外提供增刪改查業(yè)務的生產(chǎn)服務器;第二臺數(shù)據(jù)庫服務器,僅僅接收來自第一臺服務器的備份數(shù)據(jù)。一般來說,為了配置方便,以及穩(wěn)定性,這兩臺數(shù)據(jù)庫服務器,都用的是相同的配置。在實際運行中,第一臺數(shù)據(jù)庫服務器的壓力,遠遠大于第二臺數(shù)據(jù)庫服務器。因此,很多人希望合理利用第二臺數(shù)據(jù)庫服務器的空閑資源。從數(shù)據(jù)庫的基本業(yè)務來看,數(shù)據(jù)庫的操作無非就是增刪改查這4個操作。但對于“增刪改”這三個操作,如果是雙機熱備的環(huán)境中做,一臺機器做了這三個操作的某一個之后,需要立即將這個操作,同步到另一臺服務器上。出于這個原因,第二臺備用的服務器,就只做了查詢操作。進一步,為了降低第一臺服務器的壓力,干脆就把查詢操作全部丟給第二臺數(shù)據(jù)庫服務器去做,第一臺數(shù)據(jù)庫服務器就只做增刪改了。優(yōu)缺點優(yōu)點:合理利用從數(shù)據(jù)庫服務器的空閑資源。缺點:本來第二臺數(shù)據(jù)庫服務器,是用來做熱備的,它就應該在一個壓力非常小的環(huán)境下,保證運行的穩(wěn)定性。而讀寫分離,卻增加了它的壓力,也就增加了不穩(wěn)定性。因此,讀寫分離,實質(zhì)上是一個在資金比較缺乏,但又需要保證數(shù)據(jù)安全的需求下,在雙機熱備方案上,做出的一種折中的擴展方案。安裝環(huán)境MySQL主庫MySQL從庫Mycat服務器操作系統(tǒng)Centos6.564位Centos6.564位Centos6.564位主機名wyg001wyg002wyg003IP313233數(shù)據(jù)庫版本MySQL5.6.23MySQL5.6.23MySQL5.6.23說明:Mycat由Java語言開發(fā),運行環(huán)境為JDK1.7及以上的版本,Mycat服務器需要安裝JDB1.7或以上版本;MySQL主庫和從庫MySQL數(shù)據(jù)庫服務已經(jīng)開啟并且開啟主從同步;建議Mycat服務器本地有一個MySQLServer,若沒有,建議安裝一個;Mycat安裝配置首先確認Mycat服務器網(wǎng)絡(luò)是否聯(lián)通用IP地址為33的主機ping31的機器,其結(jié)果如下:[root@wyg003conf]#ping31PING31(31)56(84)bytesofdata.64bytesfrom31:icmp_seq=1ttl=64time=1.93ms64bytesfrom31:icmp_seq=2ttl=64time=0.468ms64bytesfrom31:icmp_seq=3ttl=64time=0.539ms用IP地址為33的主機ping32的機器,其結(jié)果如下:[root@wyg003conf]#ping32PING32(32)56(84)bytesofdata.64bytesfrom32:icmp_seq=1ttl=64time=7.97ms64bytesfrom32:icmp_seq=2ttl=64time=0.448ms64bytesfrom32:icmp_seq=3ttl=64time=0.446ms說明:網(wǎng)絡(luò)不通的話請先檢查網(wǎng)絡(luò)。檢查JAVA版本[root@wyg003bin]#java-versionjavaversion"1.7.0_67"Java(TM)SERuntimeEnvironment(build1.7.0_67-b01)JavaHotSpot(TM)64-BitServerVM(build24.65-b04,mixedmode)說明:Mycat由Java語言開發(fā),運行環(huán)境為JDK1.7及以上的版本,Mycat服務器需要安裝JDB1.7或以上版本;如果版本過低請下載JDK1.7或以上版本安裝;下載Mycat安裝包/MyCATApache/Mycat-download這里下載的版本是Mycat1.4-RELEASE版;下載完成后通過FTP或傳輸軟件將安裝包上傳到服務器目錄/usr/local/下。解壓縮安裝包[root@wyg003local]#cd/usr/local/[root@wyg003local]#tarzxvfMycat-Server-1.4-RC-Linux-RW-20150724.tar.gz[root@wyg003local]#mvMycat-Server-1.4-RC-Linux-RW-20150724Mycat說明:安裝包已經(jīng)提前上傳到目錄/usr/local/下,修改解壓后文件夾名為Mycat增加Mycat相關(guān)的環(huán)境變量[root@wyg003Mycat]#cd[root@wyg003~]#vi.bash_profileexportMYCAT_HOME=/usr/local/Mycat[root@wyg003~]#source.bash_profile說明:設(shè)置MYCAT_HOME目錄;source命令使之立即生效;修改Mycat配置文件修改server.xml[root@wyg003conf]#cd/usr/local/Mycat/conf/[root@wyg003conf]#viserver.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmycat:serverSYSTEM"server.dtd"><mycat:serverxmlns:mycat="http://org.opencloudb/"><system><!--<propertyname="processors">32</property><propertyname="processorExecutor">32</property><propertyname="serverPort">8066</property><propertyname="managerPort">9066</property>--></system><username="test"><propertyname="password">test</property><propertyname="schemas">TESTDB</property></user></mycat:server>說明:進入/usr/local/Mycat/conf/目錄修改,主要配置的是Mycat的用戶名和密碼,Mycat的用戶名和密碼和MySQL的用戶名密碼是分開的,應用連接Mycat就用這個用戶名和密碼。邏輯庫TESTDB,用戶名test,密碼test;修改schema.xml[root@wyg003conf]#cd/usr/local/Mycat/conf/[root@wyg003conf]#vischema.xml<?xmlversion="1.0"?><!DOCTYPEmycat:schemaSYSTEM"schema.dtd"><mycat:schemaxmlns:mycat="http://org.opencloudb/"><schemaname="TESTDB"checkSQLschema="false"sqlMaxLimit="100"dataNode="dn1"></schema><dataNodename="dn1"dataHost="localhost1"database="db1"/><dataHostname="localhost1"maxCon="1000"minCon="10"balance="1"writeType="0"dbType="mysql"dbDriver="native"switchType="2"slaveThreshold="100"><heartbeat>selectuser()</heartbeat><writeHosthost="wyg001"url="31:3306"user="root"password="123456"><readHosthost="wyg002"url="32:3306"user="root"password="123456"/></writeHost></dataHost></mycat:schema>說明:進入/usr/local/Mycat/conf/目錄修改;主要配置主從庫的數(shù)據(jù)庫連接地址信息;schemaname="TESTDB"對應server.xml配置的Mycat邏輯庫名稱;屬性設(shè)置balance=1代表全部的readHost與standbywriteHost參與select語句的負載均衡;witchType="2"代表基于MYSQL主從同步的狀態(tài)決定是否主從切換;啟動Mycat[root@wyg003bin]#cd/usr/local/Mycat/bin/[root@wyg003bin]#./mycatstartStartingMycat-server...[root@wyg003bin]#說明:進入目錄/usr/local/Mycat/bin/執(zhí)行;連接Mycat[root@wyg003bin]#mysql-utest-ptest-h-P8066-DTESTDBWarning:Usingapasswordonthecommandlineinterfacecanbeinsecure.ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-AWelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis9Serverversion:5.5.8-mycat-1.4-alpha-20150520235658MyCatServer(OpenCloundDB)Copyright(c)2009-2015PerconaLLCand/oritsaffiliatesCopyright(c)2000,2015,Oracleand/oritsaffiliates.Allrightsreserved.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.mysql>說明:Mycat默認使用8066端口;查看Mycat邏輯庫mysql>showdatabases;++|DATABASE|++|TESTDB|++1rowinset(0.00sec)mysql>selectuser();++|USER()|++|test@|++1rowinset(0.01sec)mysql>說明:可以看到我們在server.xml配置的TESTDB邏輯庫和test用戶;關(guān)閉Mycat服務[root@wyg003bin]#cd/usr/local/Mycat/bin/[root@wyg003bin]#./mycatstopStoppingMycat-server...StoppedMycat-server.[root@wyg003bin]#說明:進入/usr/local/Mycat/bin/目錄執(zhí)行;讀寫分離驗證先將日志的debug(log4j.xml文件)模式打開,執(zhí)行建表插入數(shù)據(jù)操作;mysql>createtableuser(idintnotnullprimarykey,namevarchar(100));QueryOK,0rowsaffected(0.20sec)mysql>insertintouser(id,name)values(1,'alibaba');QueryOK,1rowaffected(0.07sec)說明:執(zhí)行插入記錄操作。[root@wyg003logs]#moredebug.log12/2200:51:40.228DEBUG[$_NIOREACTOR-2-RW](NonBlockingSession.java:113)-ServerConnection[id=1,schema=TESTDB,host=0:0:0:0:0:0:0:1,user=test,txIsolation=3,autocommit=true,schema=TESTDB]insertintouser(id,name)values(1,'alibaba'),route={1->dn1{insertintouser(id,name)values(1,'alibaba')}}rrs12/2200:51:40.661DEBUG[$_NIOREACTOR-2-RW](MultiNodeQueryHandler.java:83)-executemutinodequeryinsertintouser(id,name)values(1,'alibaba')12/2200:51:40.694DEBUG[$_NIOREACTOR-2-RW]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化學必修二化學方程式總結(jié)模版
- 學前兒童發(fā)展 課件 第6章 學前兒童記憶的發(fā)展
- 公司財務審計報告總結(jié)模版
- 中學物理教學設(shè)計案例09級物理學班陸菲菲-
- 公司全員培訓總結(jié)
- 放血療法培訓
- 重癥肺炎患兒護理措施
- 熱處理車間安全管理
- 英語教師進城選調(diào)考試試題及答案
- 銀行中層面試題目及答案
- 2023屆高考地理一輪復習跟蹤訓練-石油資源與國家安全
- 14.有趣的光影(課件)-美術(shù)六年級下冊
- 中央2024年商務部中國國際電子商務中心招聘筆試歷年典型考題及考點附答案解析
- 2024年四川省南充市名校中考物理模擬試卷
- JBT 14682-2024 多關(guān)節(jié)機器人用伺服電動機技術(shù)規(guī)范(正式版)
- 改進工作作風自查報告(11篇)
- 24春國家開放大學《機械CADCAM》形考任務1-3參考答案
- 山東省煙臺市牟平區(qū)(五四制)2023-2024學年九年級下學期期中考試數(shù)學試題
- 2024年咸陽職業(yè)技術(shù)學院單招職業(yè)技能測試題庫及答案解析
- 2020年10月自考00445中外教育管理史試題及答案含解析
- 國際關(guān)系史智慧樹知到期末考試答案2024年
評論
0/150
提交評論