




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第19章MySQLCluster本章內(nèi)容19.1MySQLCluster概述19.2Linux環(huán)境下MySQLCluster安裝和配置19.3管理MySQLCluster19.4維護MySQLCluster19.5Windows操作系統(tǒng)中配置Cluster集群19.1MySQLCluster概述19.1.1MySQLCluster基本概念19.1.2理解MySQLCluster節(jié)點19.1.1MySQLCluster基本概念MySQLCluster簡單的講是一種MySQL集群的技術(shù),是由一組計算機構(gòu)成,每臺計算可以存放一個或者多個節(jié)點,其中包括MySQL服務器,DNBCluster的數(shù)據(jù)節(jié)點,管理其他節(jié)點,以及專門的數(shù)據(jù)訪問程序,這些節(jié)點組合在一起,就可以為應用提供了高性能、高可用性和可縮放性的Cluster數(shù)據(jù)管理。19.1.1MySQLCluster基本概念19.1.2理解MySQLCluster節(jié)點管理節(jié)點
管理節(jié)點主要用來對其他節(jié)點進行管理的。通常通過配置config.ini文件來配置集群中有多少需要維護的副本、配置每個數(shù)據(jù)節(jié)點上為數(shù)據(jù)和索引分配多少內(nèi)存、IP地址,以及在每個數(shù)據(jù)節(jié)點上保存數(shù)據(jù)的磁盤路徑。SQL節(jié)點 SQL節(jié)點簡單的講就是mysqld服務器,應用不能直接訪問數(shù)據(jù)節(jié)點,只能通過SQL節(jié)點訪問數(shù)據(jù)節(jié)點來返回數(shù)據(jù)。數(shù)據(jù)節(jié)點 數(shù)據(jù)節(jié)點用來存放Cluster里面的數(shù)據(jù),MySQLCluster在各個數(shù)據(jù)節(jié)點之間復制數(shù)據(jù),任何一個節(jié)點發(fā)生了故障,始終會有另外的數(shù)據(jù)節(jié)點存儲數(shù)據(jù)。19.2Linux環(huán)境下MySQLCluster安裝和配置19.2.1安裝MySQLCluster7.2.8軟件19.2.2管理節(jié)點配置步驟19.2.3配置SQL節(jié)點和數(shù)據(jù)節(jié)點19.2.1安裝MySQLCluster7.2.8軟件19.2.1安裝MySQLCluster7.2.8軟件登錄網(wǎng)址,下載并安裝MySQLCluster7.2.8軟件測試下當前的MySQL版本是否支持Cluster19.2.2管理節(jié)點配置步驟MySQLCluster管理節(jié)點的配置是Cluster配置中最關(guān)鍵的一步,下面我們通過詳細的步驟來描述下如何配置管理節(jié)點。管理節(jié)點通過config.ini文件來配置管理節(jié)點、SQL節(jié)點和數(shù)據(jù)節(jié)點的信息,通常最關(guān)心3類節(jié)點的配置。19.2.3配置SQL節(jié)點和數(shù)據(jù)節(jié)點SQL節(jié)點和數(shù)據(jù)節(jié)點的配置比較簡單,只需要在MySQLServer的配置文件(f)中增加相關(guān)配置信息即可。19.3管理MySQLCluster19.3.1Cluster的啟動19.3.2Cluster的測試19.3.3Cluster的關(guān)閉19.3.1Cluster的啟動MySQLCluster需要將集群的各個節(jié)點都啟動后才能正常運行,節(jié)點的啟動的順序依次是管理節(jié)點、數(shù)據(jù)節(jié)點和SQL節(jié)點。
19.3.2Cluster的測試MySQLCluster成功啟動之后,下面來測試一下Cluster的功能,對于NDB存儲引擎數(shù)據(jù)是會同步的,而其他類型的存儲引擎的數(shù)據(jù)是不會同步到其他數(shù)據(jù)節(jié)點中的。SQL節(jié)點故障測試19.3.2Cluster的測試步驟1:在其中一個IP地址為192.168.0.101的SQL節(jié)點的test庫中創(chuàng)建存儲引擎為NDB的表t,然后插入兩條數(shù)據(jù) mysql>usetest; Databasechanged mysql>createtablet( ->datainteger ->)engine=ndb; QueryOK,0rowsaffected,2warnings(1.56sec)
mysql>insertintotvalues(1); QueryOK,1rowaffected(0.48sec) mysql>insertintotvalues(2); QueryOK,1rowaffected(0.07sec)19.3.2Cluster的測試步驟2:在其中一個IP地址為192.168.0.102中查詢test庫中的t1表,看下兩個SQL節(jié)點的數(shù)據(jù)是否是一致的 mysql>select*fromt; +------+ |data| +------+ |1| |2| +------+ 2rowsinset(0.04sec)19.3.2Cluster的測試步驟3:在SQL節(jié)點192.168.0.101上將測試表t的存儲引擎改為MyISAM,再次插入測試輸入,執(zhí)行如下
mysql>altertabletengine=myisam; QueryOK,2rowsaffected(0.88sec) Records:2Duplicates:0Warnings:0 mysql>insertintotvalues(3); QueryOK,1rowaffected(0.02sec)19.3.2Cluster的測試步驟4:在SQL節(jié)點192.168.0.102上重新查詢表t,如下。 mysql>select*fromt; ERROR1412(HY000):Tabledefinitionhaschanged,pleaseretrytransaction步驟5:在SQL節(jié)點192.168.0.101上將測試表t的存儲引擎改為NDB mysql>altertabletengine=ndb; QueryOK,3rowsaffected(0.88sec) Records:3Duplicates:0Warnings:019.3.2Cluster的測試步驟4:在SQL節(jié)點192.168.0.102上重新查詢表t,如下。 mysql>select*fromt; ERROR1412(HY000):Tabledefinitionhaschanged,pleaseretrytransaction步驟5:在SQL節(jié)點192.168.0.101上將測試表t的存儲引擎改為NDB mysql>altertabletengine=ndb; QueryOK,3rowsaffected(0.88sec) Records:3Duplicates:0Warnings:019.3.2Cluster的測試SQL節(jié)點故障測試步驟1:將IP地址為192.168.0.101服務器上的MySQL服務停止。 [root@localhostmysql-cluster]#servicemysql.serverstop ShuttingdownMySQL.......[OK]19.3.2Cluster的測試步驟2:用ndb_mgm工具查看集群的狀態(tài)。 [root@localhost~]#ndb_mgm … [ndbd(NDB)] 2node(s) id=2 @192.168.0.101(mysql-5.5.27ndb-7.2.8,starting,Nodegroup:0) id=3 @192.168.0.102(mysql-5.5.27ndb-7.2.8,starting,Nodegroup:0) [ndb_mgmd(MGM)] 1node(s) id=1 @192.168.0.100(mysql-5.5.27ndb-7.2.8) [mysqld(API)] 2node(s) id=4(notconnected,acceptingconnectfrom192.168.0.100) id=5@192.168.0.102(mysql-5.5.27ndb-7.2.8)19.3.3Cluster的關(guān)閉MySQLCluster關(guān)閉需要使用ndb_mgm命令 執(zhí)行如下所示。 [root@localhostmysql-cluster]#ndb_mgm-eshutdown ConnectedtoManagementServerat:localhost:1186 Node2:Clustershutdowninitiated Node3:Clustershutdowninitiated Node3:Nodeshutdowncompleted. Node2:Nodeshutdowncompleted. 2NDBClusternode(s)haveshutdown. Disconnectingtoallowmanagementservertoshutdown.19.3.3Cluster的關(guān)閉Cluster關(guān)閉同時也可以使用ndb_mgm工具進入管理界面后,使用shutdown命令。執(zhí)行如下所示。 [root@localhostmysql-cluster]#ndb_mgm ndb_mgm>shutdown Node2:Clustershutdowninitiated Node3:Clustershutdowninitiated Node3:Nodeshutdowncompleted. Node2:Nodeshutdowncompleted. Disconnectingtoallowmanagementservertoshutdown.19.4維護MySQLCluster19.4.1Cluster的日志的管理19.4.2Cluster的聯(lián)機備份19.4.3Cluster的數(shù)據(jù)恢復19.4維護MySQLCluster進入MySQLCluster的命令行管理界面可以做大量的維護工作 [root@localhost~]#ndb_mgm --NDBCluster--ManagementClient-- ndb_mgm>show通過ndb控制界面下執(zhí)行help命令查看很多其他的維護管理命令: ndb_mgm>help19.4.1Cluster的日志的管理管理MySQLCluster提供了兩種日志。 集群日志(clusterlog)主要是用來記錄所有Cluster節(jié)點生成的日志節(jié)點日志(nodelog)記錄了數(shù)據(jù)節(jié)點的本地時間。通常采用集群日志,集群日志記錄了所有節(jié)點的數(shù)據(jù),更方便進行管理,集群日志記錄在config.ini同一個目錄下面。
[root@localhostmysql-cluster]#cd/var/lib/mysql-cluster/ [root@localhostmysql-cluster]#ls config.inindb_1_cluster.logndb_1_out.logndb_1.pid [root@localhostmysql-cluster]#catndb_1_cluster.log19.4.1Cluster的日志的管理管理通??梢允褂胣db_mgm客戶端管理日志信息。1.在終端執(zhí)行ndb_mgm命令,輸入clusterloginfo命令查詢當前日志狀態(tài)。 [root@localhost~]#cd/var/lib/mysql-cluster/ [root@localhostmysql-cluster]#ndb_mgm --NDBCluster--ManagementClient-- ndb_mgm>clusterloginfo ConnectedtoManagementServerat:localhost:1186 Severitiesenabled:INFOWARNINGERRORCRITICALALERT
19.4.1Cluster的日志的管理2.執(zhí)行clusterlogoff命令關(guān)閉日志。 ndb_mgm>clusterlogoff Clusterloggingisdisabled ndb_mgm>clusterloginfo Clusterloggingisdisabled.
3.執(zhí)行clusterlogoff命令關(guān)閉日志。 ndb_mgm>clusterlogon Clusterloggingisenabled. ndb_mgm>clusterloginfo Severitiesenabled:INFOWARNINGERRORCRITICALALERT19.4.2Cluster的聯(lián)機備份使用mysqldump工具對MySQL數(shù)據(jù)庫進行邏輯備份。采用這種備份方法同樣的適用于MySQLCluster數(shù)據(jù)備份,在對MySQLCluster接點進行數(shù)據(jù)備份的時候,可以選取任意一個節(jié)點進行備份。通常使用MySQLCluster備份指的是在給定時間對數(shù)據(jù)庫的快照,備份包含3個部分。⑴Metadata(元數(shù)據(jù)):所有數(shù)據(jù)庫表的名稱和定義。⑵Tablerecords(表記錄):執(zhí)行備份時實際保存在數(shù)據(jù)庫表中的數(shù)據(jù)。⑶Transactionlog(事務日志):指明如何以及何時將數(shù)據(jù)保存在數(shù)據(jù)庫中的連續(xù)記錄。19.4.2Cluster的聯(lián)機備份使用管理服務器進行Cluster物理備份,首先需要啟動管理服務器(ndb_mgm),并執(zhí)行”startbackup”命令啟動備份,具體執(zhí)行如下所示。 ndb_mgm>startbackup; Waitingforcompleted,thismaytakeseveralminutes Node3:Backup1startedfromnode1 Node3:Backup1startedfromnode1completed如果在備份的過程中想終止備份可以使用如下的命令。[root@localhostmysql-cluster]#ndb_mgm --NDBCluster--ManagementClient-- ndb_mgm>abortbackupnode_id19.4.2Cluster的聯(lián)機備份上面的備份例子在兩個數(shù)據(jù)節(jié)點下都可以看到備份的數(shù)據(jù),在IP地址為192.168.0.101的數(shù)據(jù)節(jié)點下,可以看到以下的數(shù)據(jù)文件。
[root@localhost~]#cd/usr/local/mysql/data/BACKUP/BACKUP-1 [root@localhostBACKUP-1]#ls BACKUP-1.2.LOG BACKUP-1.2.LOG BACKUP-1-0.2.Data19.4.3Cluster的數(shù)據(jù)恢復使用使用STARTBACKUP進行MySQLCluster備份,使用ndb_restore工具進行數(shù)據(jù)還原,使用命令ndb_restore進行還原。 1.備份之前,首先創(chuàng)建測試表t,然后添加若干條記錄,如下所示。 mysql>selectcount(*)fromt; +----------+ |count(*)| +----------+ |8192| +----------+ 1rowinset(0.03sec)19.4.3Cluster的數(shù)據(jù)恢復 2.在管理節(jié)點上執(zhí)行startbackup進行數(shù)據(jù)備份。 ndb_mgm>startbackup; Waitingforcompleted,thismaytakeseveralminutes Node3:Backup2startedfromnode1 Node3:Backup2startedfromnode1completed StartGCP:3059StopGCP:3062 #Records:10249#LogRecords:0 Data:280592bytesLog:0bytes19.4.3Cluster的數(shù)據(jù)恢復 3.在IP地址為192.168.0.101的數(shù)據(jù)節(jié)點上執(zhí)行如下數(shù)據(jù)還原的命令,如下所示。 [root@localhostmysql-cluster]#ndb_restore-b3-n2-chost=192.168.0.100:1186–m–r/usr/local/mysql/data/BACKUP/BACKUP-3 4.在IP地址為192.168.0.102的數(shù)據(jù)節(jié)點上執(zhí)行如下數(shù)據(jù)還原的命令,如下所示。 [root@localhostmysql-cluster]#ndb_restore-b3-n3-chost=192.168.0.100:1186–m–r/usr/local/mysql/data/BACKUP/BACKUP-319.5Windows操作系統(tǒng)中配置Cluster集群MySQLCluster的下載 Windows操作系統(tǒng)下面的MySQLCluster的下載地址是。如果操作系統(tǒng)是32位的,就選擇Windows(x86,32-bit),ZIPArchive下載,如果是64位的,就選擇Windows(x86,64-bit),ZIPArchive下載。MySQLCluster集群的配置和測試。19.5Windows操作系統(tǒng)中配置Cluster集群管理節(jié)點(192.168.0.208)
SQL節(jié)點(192.168.0.102、192.168.0.206)數(shù)據(jù)節(jié)點(192.168.0.102、192.168.0.206)19.5Windows操作系統(tǒng)中配置Cluster集群步驟1:在IP地址為192.168.0.208的機器上創(chuàng)建目錄c:/mysql/bin、c:/mysql/mysql-cluster和c:/mysql/bin/cluster-logs目錄,然后將安裝包解壓后的mysql/bin目錄中的ndb_mgmd.exe和ndb_mgm.exe復制到IP地址為192.168.0.208的c:/mysql/bin目錄下。19.5Windows操作系統(tǒng)中配置Cluster集群然后在192.168.0.208的c:/mysql/bin下生成my.ini和config.ini兩個文件。my.ini的配置信息如下: [mysql_cluster] #Optionformanagementnodeprocess config-file=C:/mysql/bin/config.ini19.5Windows操作系統(tǒng)中配置Cluster集群config.ini的配置信息如下: [ndbddefault] NoOfReplicas=2 #每個數(shù)據(jù)節(jié)點的鏡像數(shù)量 DataDir=D:/ProgramFiles/mysqlcluster/datanode/mysql/bin/cluster-data DataMemory=80M#每個數(shù)據(jù)節(jié)點中給數(shù)據(jù)分配的內(nèi)存 IndexMemory=18M#每個數(shù)據(jù)節(jié)點中給索引分配的內(nèi)存 [ndb_mgmd] HostName=192.168.0.208#管理節(jié)點的IP地址 DataDir=C:/mysql/bin/cluster-logs#管理節(jié)點日志文件的目錄 [ndbd] HostName=192.168.0.102#192.168.0.102的主機作為數(shù)據(jù)節(jié)點 [ndbd] HostName=192.168.0.206#192.168.0.206的主機作為數(shù)據(jù)節(jié)點 [mysqld] HostName=192.168.0.102#192.168.0.102的主機作為SQL節(jié)點 [mysqld] HostName=192.168.0.206#192.168.0.206的主機作為SQL節(jié)點19.5Windows操作系統(tǒng)中配置Cluster集群步驟2:將IP地址為192.168.0.102和192.168.0.206的兩臺機器同時作為數(shù)據(jù)節(jié)點,在IP地址為192.168.0.206的計算機上創(chuàng)建以下目錄結(jié)構(gòu)。 D:/ProgramFiles/mysqlcluster/datanode/mysql/bin D:/ProgramFiles/mysqlcluster/datanode/mysql/cluster-data D:/ProgramFiles/mysqlcluster/datanode/mysql/bin/cluster-data
此時需要在下載的目錄解壓之后的文件mysql/bin中將ndbd.exe復制到192.168.0.206的D:/ProgramFiles/mysqlcluster/datanode/mysql/bin目錄下。接下來需要在該目錄(D:/ProgramFiles/mysqlcluster/datanode/mysql/bin)下創(chuàng)建my.ini文件,my.ini的配置信息如下
19.5Windows操作系統(tǒng)中配置Cluster集群my.ini的配置信息如下
[mysql_cluster] ndb-connectstring=192.168.0.208#定位管理節(jié)點19.5Windows操作系統(tǒng)中配置Cluster集群步驟3:在IP地址為192.168.0.206的計算機上創(chuàng)建D:/ProgramFiles/mysqlcluster/sqlnode目錄,然后將下載解壓后的文件夾mysql直接整個復制到D:/ProgramFiles/mysqlcluster/sqlnode目錄下面,然后在D:/ProgramFiles/mysqlcluster/sqlnode/mysql下面創(chuàng)建my.ini文件。my.ini的配置信息如下: [mysqld] ndbcluster#運行NDB存儲引擎 ndb-connectstring=192.168.0.208#定位管理節(jié)點19.5Windows操作系統(tǒng)中配置Cluster集群步驟4:啟動管理節(jié)點。首先在IP地址為192.168.0.208的主機上打開命令窗口,切換到C:\mysql\bin目錄下面,輸入: C:\DocumentsandSettings\Administrator>cdc:\mysql\bin C:\mysql\bin>ndb_mgmd-fconfig.ini --configdir=c:\mysql\mysql-cluster19.5Windows操作系統(tǒng)中配置Cluster集群步驟5:啟動數(shù)據(jù)節(jié)點
。 在IP地址為192.168.0.206的主機中打開一個新的命令行窗口,切換到目錄D:/ProgramFiles/mysqlcluster/datanode/mysql/bin,輸入如下命令: D:\ProgramFiles\mysqlcluster\datanode\mysql\bin>ndbd-c192.168.0.208同時,登錄在IP地址為192.168.0.102的主機中打開一個新的命令行窗口,輸入如下命令: D:\ProgramFiles\mysqlcluster\datanode\mysql\bin>ndbd-c192.168.0.10219.5Windows操作系統(tǒng)中配置Cluster集群下面在IP地址為192.168.0.208的主機上使用ndb_mgm命令測試發(fā)現(xiàn)沒有成功連接上數(shù),如下: C:\mysql\bin>ndb_mgm --NDBCluster--ManagementClient-- ndb_mgm>allstatus ConnectedtoManagementServerat:localhost:1186 Node2:started(mysql-5.5.27ndb-7.2.8) Node3:started(mysql-5.5.27ndb-7.2.8)19.5Windows操作系統(tǒng)中配置Cluster集群步驟6:啟動SQL節(jié)點 在IP地址為192.168.0.206的主機中打開一個
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南平2025年福建南平市屬醫(yī)療單位醫(yī)療類儲備人才引進36人筆試歷年參考題庫附帶答案詳解
- 土地抵押合同范文二零二五年
- 婚姻忠誠協(xié)議認定二零二五年
- 工程機械運輸合同范例
- 二零二五版出租汽車客運經(jīng)營合同書
- 二零二五版公司內(nèi)部股權(quán)轉(zhuǎn)讓簡單協(xié)議范例
- 二零二五琴行教師聘用合同范文
- 水費承包合同二零二五年
- 元宵節(jié)講解課件
- 2025上海民間個人借款合同書
- 2025屆成都市2022級高中畢業(yè)班第二次診斷性檢測語文試題及答案
- 1.1質(zhì)點 參考系-【新教材】人教版(2019)高中物理必修第一冊課件(共27張PPT)
- 艾滋病梅毒和乙肝母嬰阻斷知識知曉率調(diào)查問卷
- 99S203消防水泵接合器安裝圖集
- 平面控制點測量復核記錄
- 中國胸痛中心認證標準(標準版、基層版)
- 《藝術(shù)學概論考研》課件藝術(shù)內(nèi)涵的演變
- 三年級英語家長會發(fā)言稿15篇
- 光的折射(課堂PPT)
- 監(jiān)控系統(tǒng)維護及方案
- 無心磨床新手
評論
0/150
提交評論