mysql集群搭建教程-mysql+windows篇

      網(wǎng)友投稿 1859 2022-05-29

      張哥視頻課:https://edu.csdn.net/course/play/7912

      搭建Mysql集群,首先看了一些關(guān)于集群的資料,然后根據(jù)步驟一步步的整,遇到了一些問(wèn)題,在這里把我遇到的問(wèn)題以及解決方法分享出來(lái)。

      【是什么】

      集群(cluster)技術(shù)是一種較新的技術(shù),通過(guò)集群技術(shù),可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對(duì)較高的收益,其任務(wù)調(diào)度則是集群系統(tǒng)中的核心技術(shù)。

      mysql集群技術(shù)在分布式系統(tǒng)中為MySQL數(shù)據(jù)提供了冗余特性,增強(qiáng)了安全性,使得單個(gè)MySQL服務(wù)器故障不會(huì)對(duì)系統(tǒng)產(chǎn)生巨大的負(fù)面效應(yīng),系統(tǒng)的穩(wěn)定性得到保障。

      一個(gè)mysql集群包含三個(gè)節(jié)點(diǎn):管理節(jié)點(diǎn),數(shù)據(jù)節(jié)點(diǎn)和sql節(jié)點(diǎn)。啟動(dòng)順序?yàn)椋汗芾砉?jié)點(diǎn),數(shù)據(jù)節(jié)點(diǎn),sql節(jié)點(diǎn)。管理節(jié)點(diǎn)只能一個(gè),數(shù)據(jù)節(jié)點(diǎn)和sql節(jié)點(diǎn)可以根據(jù)需要設(shè)置個(gè)數(shù)。

      管理節(jié)點(diǎn):(也可以稱(chēng)管理服務(wù)器)主要負(fù)責(zé)管理數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn),還有集群配置文件和集群日志文件。它監(jiān)控其他節(jié)點(diǎn)的工作狀態(tài),能夠啟動(dòng)、關(guān)閉或重啟某個(gè)節(jié)點(diǎn)。其他節(jié)點(diǎn)從管理節(jié)點(diǎn)檢索配置數(shù)據(jù),當(dāng)數(shù)據(jù)節(jié)點(diǎn)有新事件時(shí)就把事件信息發(fā)送給管理節(jié)點(diǎn)并寫(xiě)入集群日志。

      數(shù)據(jù)節(jié)點(diǎn):負(fù)責(zé)存儲(chǔ)數(shù)據(jù)

      sql節(jié)點(diǎn):通過(guò)它進(jìn)行sql操作。

      【為什么】

      為什么要使用集群還要通過(guò)它的優(yōu)點(diǎn)來(lái)看,集群用較低的成本,在性能,靈活可用方面上有很大的改進(jìn)

      【優(yōu)點(diǎn)】

      【缺點(diǎn)】

      我們知道集群中的應(yīng)用只在一臺(tái)服務(wù)器上運(yùn)行,如果這個(gè)應(yīng)用出現(xiàn)故障,其它的某臺(tái)服務(wù)器會(huì)重新啟動(dòng)這個(gè)應(yīng)用,接管位于共享磁盤(pán)柜上的數(shù)據(jù)區(qū),進(jìn)而使應(yīng)用重新正常運(yùn)轉(zhuǎn)。我們知道整個(gè)應(yīng)用的接管過(guò)程大體需要三個(gè)步驟:偵測(cè)并確認(rèn)故障、后備服務(wù)器重新啟動(dòng)該應(yīng)用、接管共享的數(shù)據(jù)區(qū)。因此在切換的過(guò)程中需要花費(fèi)一定的時(shí)間,原則上根據(jù)應(yīng)用的大小不同切換的時(shí)間也會(huì)不同,越大的應(yīng)用切換的時(shí)間越長(zhǎng)。

      【總結(jié)】

      這是mysql集群的首篇博客,主要介紹集群的基礎(chǔ)知識(shí),集群的由來(lái),為什么使用,以及集群的優(yōu)缺點(diǎn),下篇博客講解mysql集群在windows環(huán)境下的搭建過(guò)程以及在搭建過(guò)程中遇到的問(wèn)題以及解決方案。

      下面將會(huì)把成果分享一下,手把手教你在三分鐘內(nèi)搭建mysql集群。

      ·準(zhǔn)備工作——前期工作

      ·搭建之路——三分鐘搞定

      ·測(cè)試集群——看成果

      【準(zhǔn)備工作】

      1、mysql-cluster-gpl-7.4.9-winx64

      下載方式:

      http://dev.mysql.com/downloads/cluster/

      2、兩臺(tái)電腦

      一臺(tái)配置管理節(jié)點(diǎn),一個(gè)數(shù)據(jù)節(jié)點(diǎn)和一個(gè)sql節(jié)點(diǎn),一臺(tái)配置一個(gè)數(shù)據(jù)節(jié)點(diǎn)和一個(gè)sql節(jié)點(diǎn)。

      管理節(jié)點(diǎn):192.168.22.238

      數(shù)據(jù)節(jié)點(diǎn)A:192.168.22.238

      數(shù)據(jù)節(jié)點(diǎn)B:192.168.22.240

      SQL節(jié)點(diǎn)A:192.168.22.238

      SQL節(jié)點(diǎn)B:192.168.22.240

      【搭建之路】

      一、配置mysql集群

      1、將下載的mysql集群壓縮包解壓到管理節(jié)點(diǎn)192.168.22.238的C:\mysql目錄下:

      2、配置管理節(jié)點(diǎn):

      在配置管理節(jié)點(diǎn)(192.168.22.238)的計(jì)算機(jī)上的C:\Mysql\Bin目錄下建立cluster-logs和config兩個(gè)文件夾。cluster-logs用來(lái)存儲(chǔ)日志文件,在config文件夾中建立my.ini和config.ini兩個(gè)配置文件:

      my.ini

      [plain] view plain copy

      [mysql_cluster]

      #?Options?for?management?node?process

      config-file=C:/mysql/bin/config/config.ini

      config.ini

      [plain] view plain copy

      [ndbd?default]

      #?Options?affecting?ndbd?processes?on?all?data?nodes:

      mysql集群搭建教程-mysql+windows篇

      NoOfReplicas=2??????????????????????#?Number?of?replicas

      DataDir=C:/mysql/bin/cluster-data???#?Directory?for?each?data?node's?data?files

      #?Forward?slashes?used?in?directory?path,

      #?rather?than?backslashes.?This?is?correct;

      #?see?Important?note?in?text

      DataMemory=80M??????????????????????#?Memory?allocated?to?data?storage

      IndexMemory=18M?????????????????????#?Memory?allocated?to?index?storage

      #?For?DataMemory?and?IndexMemory,?we?have?used?the

      #?default?values.?Since?the?"world"?database?takes?up

      #?only?about?500KB,?this?should?be?more?than?enough?for

      #?this?example?Cluster?setup.

      [ndb_mgmd]

      #?Management?process?options:

      HostName=192.168.22.238???????????#?Hostname?or?IP?address?of?management?node

      DataDir=C:/mysql/bin/cluster-logs???#?Directory?for?management?node?log?files

      [ndbd]

      #?Options?for?data?node?"A":

      HostName=192.168.22.238?????????????#?Hostname?or?IP?address

      [ndbd]

      #?Options?for?data?node?"B":

      HostName=192.168.22.240????????????#?Hostname?or?IP?address

      [mysqld]

      #?SQL?node?A?options:

      HostName=192.168.22.238??????????????#?Hostname?or?IP?address

      [mysqld]

      #?SQL?node?B?options:

      HostName=192.168.22.240???????????#?Hostname?or?IP?address

      3、配置數(shù)據(jù)節(jié)點(diǎn):

      在配置數(shù)據(jù)節(jié)點(diǎn)(192.168.25.48、192.168.25.49)的計(jì)算機(jī)上的C:\Mysql\Bin目錄下建立cluster-data文件夾,用來(lái)存放數(shù)據(jù):SQL節(jié)點(diǎn)不用任何配置,至此,整個(gè)MySQL集群就搭建完成了。

      將管理節(jié)點(diǎn)(192.168.22.238)電腦C:\mysql文件拷到192.168.22.240電腦的C盤(pán)

      二、啟動(dòng)mysql集群

      啟動(dòng)順序:管理節(jié)點(diǎn)→數(shù)據(jù)節(jié)點(diǎn)→sql節(jié)點(diǎn)

      1、啟動(dòng)管理節(jié)點(diǎn)

      在cmd中運(yùn)行命令:

      c:\mysql\bin\ndb_mgmd.exe --configdir=c:\mysql\bin\config --config-file=c:\mysql\bin\config\config.ini --ndb-nodeid=1 --reload –initial

      在cmd中運(yùn)行如下命令:

      c:\mysql\bin\ndbd.exe --ndb-connectstring=192.168.22.238

      3、啟動(dòng)每個(gè)sql節(jié)點(diǎn):

      在cmd中運(yùn)行如下命令:

      c:\mysql\bin\mysqld.exe --ndbcluster --ndb-connectstring=192.168.22.238 --console

      4、查看每個(gè)節(jié)點(diǎn)的狀態(tài)

      在cmd命令中運(yùn)行:c:\mysql\bin\ndb_mgm,再執(zhí)行“show”命令,可以查看到每個(gè)節(jié)點(diǎn)的連接狀態(tài):

      這就表明每個(gè)節(jié)點(diǎn)均連接正確。

      【測(cè)試mysql集群】

      1、在sql節(jié)點(diǎn)A建立數(shù)據(jù)庫(kù)并插入數(shù)據(jù):

      在sql節(jié)點(diǎn)A的計(jì)算機(jī)上(192.168.22.238)的cmd中運(yùn)行C:\mysql\bin\mysql.exe -u root -p命令登錄mysql,接下來(lái)需要輸入密碼時(shí),密碼默認(rèn)為空(直接回車(chē))。

      ·創(chuàng)建名為“chan”的數(shù)據(jù)庫(kù):

      create database chan;

      ·創(chuàng)建名為“T_chan”的表:

      use chan;

      create table T_chan(Name varchar(23),Age int) engine=ndbcluster;

      注意建表語(yǔ)句后面一定要加上 engine=ndbcluster,為什么要加上,在下一篇博客中會(huì)介紹。

      ·插入數(shù)據(jù):

      insert into T_chan values('chan',23);

      ·查詢(xún)數(shù)據(jù):

      select * from?T_chan;

      2、在sql節(jié)點(diǎn)B查到數(shù)據(jù)

      在sql節(jié)點(diǎn)B的計(jì)算機(jī)上(192.168.22.240)的cmd中運(yùn)行C:\mysql\bin\mysql.exe -u root -p命令登錄mysql。

      執(zhí)行 show databases; 命令可以查看到在sql節(jié)點(diǎn)A新建的數(shù)據(jù)庫(kù);

      執(zhí)行

      use chan;

      select * from T_chan;

      可以查詢(xún)到在sql節(jié)點(diǎn)A插入的數(shù)據(jù)。

      到這里mysql集群搭建就已經(jīng)完成了。在搭建過(guò)程中也遇到了一些問(wèn)題,在接下來(lái)的博客中,將會(huì)將會(huì)把我遇到的問(wèn)題分享給大家。

      【總結(jié)】

      mysql集群我們現(xiàn)在做到的是加入一個(gè)數(shù)據(jù)節(jié)點(diǎn)宕機(jī)后,不會(huì)影響整個(gè)集群的運(yùn)行,數(shù)據(jù)也不會(huì)丟失,保證了數(shù)據(jù)的完整性。第一次搭建的時(shí)候遇到了一些困難,不過(guò)這些都是小事啦。看完上面的步驟是不是覺(jué)得mysql搭建很簡(jiǎn)單,熟練以后在搭建的時(shí)候會(huì)遇到什么問(wèn)題,以及如何解決,輕輕松松的就搞定了。

      1、mysql集群安裝不成功

      遇到的問(wèn)題:

      之前做網(wǎng)上商城的項(xiàng)目的時(shí)候安裝了mysql,這次搭建mysql集群的時(shí)候按照百度經(jīng)驗(yàn)里的教程卸載了,http://jingyan.baidu.com/article/f96699bbaa8fc1894f3c1b5a.html。但是在安裝mysql集群的時(shí)候還是沒(méi)有安裝成功。

      我之前用的mysql和集群版本的mysql是兩個(gè)不同的版本,用之前的版本是不可能搭建成功mysql集群的。

      MySQL Community Server 社區(qū)版本,開(kāi)源免費(fèi),但不提供官方技術(shù)支持

      MySQL Cluster 集群版,開(kāi)源免費(fèi)。可將幾個(gè)MySQL Server封裝成一個(gè)Server

      解決方案:

      打開(kāi)服務(wù)(win+ R,輸入services.msc),查看mysql的可執(zhí)行文件的路徑。查看是否是C:\mysql\**(我的mysql集群安裝在C:\mysql),如果不是,

      1、執(zhí)行刪除mysql服務(wù)的命令:sc delete mysql

      2、安裝mysql:進(jìn)入C:\mysql\bin目錄下,使用mysqld –install安裝MySQL服務(wù)

      3、啟動(dòng)mysql服務(wù):使用net start mysql命令啟動(dòng)MySQL服務(wù)

      這樣mysql就能安裝成功了!

      2、The system tablespace must be writable!

      解決方案:

      1、打開(kāi)任務(wù)管理器終止mysqld進(jìn)程;

      2、打開(kāi)mysql安裝目錄的data文件夾,刪除以下2個(gè)文件:

      ib_logfile0和ib_logfile1

      3、重新啟動(dòng)mysql

      3、mysql服務(wù)無(wú)法啟動(dòng),發(fā)生系統(tǒng)錯(cuò)誤:1067,進(jìn)程意外終止

      運(yùn)行:mysqlbin mysqladmin -u root shutdown

      然后按照第一個(gè)解決方案就可以解決。

      4、mysql集群沒(méi)有搭建完成,出現(xiàn)的問(wèn)題

      解決方案:

      按照博客:http://blog.csdn.net/chenxiaochan/article/details/50856072,重新搭建就好。

      總結(jié):

      在搭建mysql集群的時(shí)候遇到的這些問(wèn)題,都是因?yàn)闆](méi)有對(duì)mysql集群了解不夠,通過(guò)這次的搭建,在搭建過(guò)程過(guò)程中遇到的問(wèn)題,讓我對(duì)mysql集群有了簡(jiǎn)單的了解,由最初的每走一步都困難重重,到現(xiàn)在的簡(jiǎn)簡(jiǎn)單單,這些錯(cuò)誤都是小問(wèn)題,這些只是在搭建上遇到的問(wèn)題,還有在應(yīng)用的時(shí)候遇到的問(wèn)題,在接下來(lái)的博客中都會(huì)寫(xiě)到,期待吧。

      MySQL Windows

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:鴻蒙輕內(nèi)核源碼分析系列一 前言
      下一篇:【獎(jiǎng)勵(lì)公示】【內(nèi)容共創(chuàng)】第12期 虎躍新春,共創(chuàng)新篇,華為云邀您參與簽約作者征集令,贏高達(dá)500元禮包!
      相關(guān)文章
      亚洲国产精品久久久久网站| 亚洲?V乱码久久精品蜜桃| 综合一区自拍亚洲综合图区| 亚洲AV无码一区二三区| 亚洲女子高潮不断爆白浆| 亚洲精品在线免费看| 久久精品国产亚洲77777| 亚洲AV午夜成人片| 国产∨亚洲V天堂无码久久久 | 亚洲色成人网站WWW永久| 亚洲国产精品成人一区| 亚洲av高清在线观看一区二区 | 亚洲日韩国产一区二区三区在线| 精品亚洲成A人无码成A在线观看| 亚洲免费网站在线观看| 亚洲欧洲日本天天堂在线观看| 久久亚洲精品中文字幕| 亚洲视频在线观看网址| 亚洲无成人网77777| 亚洲一区二区三区无码国产| 自拍日韩亚洲一区在线| 亚洲中文字幕乱码一区| 亚洲日韩精品国产一区二区三区| 亚洲国产成人久久精品软件| 久久人午夜亚洲精品无码区| 亚洲国产成人精品女人久久久 | 亚洲日韩中文字幕天堂不卡 | 国产亚洲视频在线观看网址| 免费亚洲视频在线观看| 亚洲欧洲日本在线| 国产AV无码专区亚洲AWWW| 亚洲精品字幕在线观看| 亚洲AV无码一区二区二三区软件| 亚洲精品无码不卡| 亚洲国产综合自在线另类| 亚洲综合无码一区二区痴汉| 亚洲AV色欲色欲WWW| 亚洲阿v天堂在线2017免费| 中文字幕精品亚洲无线码二区| 亚洲精品国产精品乱码在线观看| 久久夜色精品国产亚洲AV动态图|