Linux下的Mysql集群之路

一游昼。安裝mysql集群版本

首先下載二進制版本的mysql集群?傳送門?。這里我下載的是7.4.13.

二愉老。sql節(jié)點:在每一個主機上使用root權(quán)限來執(zhí)行一下步驟硬萍。

shell>groupadd mysql

shell>useradd -g mysql -s /bin/false mysql

執(zhí)行上面命令,增加mysql用戶組以及mysql用戶虎锚。(注意硫痰,有些linux發(fā)行版本可能命令不一樣,例如翁都,我使用的Debian碍论,使用的是上面的命令谅猾,但是有些可能是使用 adduser和addgroup命令)柄慰。

1. 將下載后的文件放在 /var/tmp 文件夾上鳍悠,然后創(chuàng)建軟連接。

shell>cd /var/tmp

shell>tar -C /usr/local -xzvf mysql-cluster-gpl-7.4.13-linux2.6.tar.gz

shell>ln -s /usr/local/mysql-cluster-gpl-7.4.13-linux2.6-i686 /usr/local/mysql

2. 進入mysql目錄坐搔,執(zhí)行提供的腳本創(chuàng)建系統(tǒng)數(shù)據(jù)庫

shell>cd mysql

shell>scripts/mysql_install_db --user=mysql

3. 為mysql服務(wù)器和數(shù)據(jù)目錄設(shè)置必要的權(quán)限

shell>chown -R root .

shell>chown -R mysql data

shell>chgrp -R mysql .

4. 拷貝mysql的啟動腳本到相應(yīng)的目錄藏研,讓它可執(zhí)行,并且設(shè)置為開機啟動

shell>cp support-files/mysql.server /etc/rc.d/init.d/

shell>chmod +x /etc/rc.d/init.d/mysql.server

shell>chkconfig --add mysql.server

這里需要注意的是概行,不同的linxu發(fā)行版本的開機啟動腳本的所在目錄可能不盡相同蠢挡,使用一切手段找到這個目錄。我的Debian上凳忙,目錄是 /etc/init.d

上面的chkconfig命令適用于ret hat,至于其他版本业踏,需要你自己去搜索。在Debian上涧卵,命令是 update-rc.d --add mysql.server.

5. 上面每一個步驟勤家,都需要在每個sql節(jié)點(主機)上設(shè)置相同的操作。

三柳恐。數(shù)據(jù)節(jié)點

安裝數(shù)據(jù)節(jié)點并不需要用到mysqld二進制文件伐脖,只需要用到 ndbd(單線程)或者ndbmtd(多線程)即可。下面操作使用root權(quán)限

1. 進入/var/tmp/mysql目錄乐设,將bin/ndbd拷貝到/usr/local/bin/ndbd,將bin/ndbmtd拷貝到/usr/local/bin/ndbmtd

shell>cd mysql

shell>cp bin/ndbd /usr/local/bin/ndbd

shell>cp bin/ndbmtd /usr/local/bin/ndbmtd

2. 進入/usr/local/bin讼庇, 執(zhí)行一下命令

shell>cd /usr/local/bin

shell>chmod +x ndb*

四。管理節(jié)點

1. 和上面安裝數(shù)據(jù)節(jié)點一樣近尚,也是不需要mysqld蠕啄,只需要管理服務(wù)ndb_mgmd即可。順便也安裝一下ndb_mgm命令吧肿男,可以查看并且管理各種節(jié)點介汹。

shell>cd /var/tmp/mysql

shell>cp bin/ndb_mgm* /usr/local/bin

2. 同樣的,進入/usr/local/bin舶沛,賦予ndb_mgm*相關(guān)權(quán)限

shell>cd /usr/local/bin

shell>chmod +x ndb_mgm*

五嘹承。初始化配置文件

1. 每個數(shù)據(jù)節(jié)點和sql節(jié)點需要一個配置文件 my.cnf ,用來配置connection-string(找到相應(yīng)的管理節(jié)點)如庭,并且讓mysqld開啟?ndbcluster 存儲引擎

2. 每個管理節(jié)點需要配置文件 config.ini文件叹卷,來配置節(jié)點的部署以及內(nèi)存限制等等相關(guān)事宜。

3. 數(shù)據(jù)節(jié)點和sql節(jié)點配置坪它。使用你喜歡的工具打開/etc/my.cnf(不存在的話就新建一個)骤竹,比如vim

shell> vi /etc/my.cnf

配置如下

[mysqld]

# Options for mysqld process:

ndbcluster? ? ? ? ? ? ? ? ? ? ??

# run NDB storage engine

[mysql_cluster]

# Options for MySQL Cluster processes:

ndb-connectstring=192.168.0.10?

# location of management server

在數(shù)據(jù)節(jié)點和sql節(jié)點均要配置此文件。

注意:一旦你使用了參數(shù)ndbcluster ndb-connectstring啟動mysqld進程往毡,正如先前的my.cnf文件的參數(shù)所示蒙揣。 在集群沒有完全開啟之前,你不能執(zhí)行創(chuàng)建或者改變表的語句开瞭,否則會報錯懒震。真的罩息。

4. 配置管理節(jié)點

使用root權(quán)限執(zhí)行一下步驟

shell>mkdir /var/lib/mysql-cluster

shell>cd /var/lib/mysql-cluster

shell>vi config.ini

鍵入以下代碼

[ndbd default]

# Options affecting ndbd processes on all data nodes:

NoOfReplicas=2? ? # Number of replicas

DataMemory=80M? ? # How much memory to allocate for data storage

IndexMemory=18M? # How much memory to allocate for 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.

[tcp default]

# TCP/IP options:

portnumber=2202? # This the default; however, you can use any

# port that is free for all the hosts in the cluster

# Note: It is recommended that you do not specify the port

# number at all and simply allow the default value to be used

# instead

[ndb_mgmd]

# Management process options:

hostname=192.168.0.10? ? ? ? ? # Hostname or IP address of MGM node

datadir=/var/lib/mysql-cluster? # Directory for MGM node log files

[ndbd]

# Options for data node "A":

# (one [ndbd] section per data node)

hostname=192.168.0.30? ? ? ? ? # Hostname or IP address

datadir=/usr/local/mysql/data? # Directory for this data node's data files

[ndbd]

# Options for data node "B":

hostname=192.168.0.40? ? ? ? ? # Hostname or IP address

datadir=/usr/local/mysql/data? # Directory for this data node's data files

[mysqld]

# SQL node options:

hostname=192.168.0.20? ? ? ? ? # Hostname or IP address

# (additional mysqld connections can be

# specified for this node for various

# purposes such as running ndb_restore)

上面的注釋就不多說了(我不懂,哈哈哈)

六个扰。啟動Mysql集群

只要配置成功之后瓷炮,要啟動集群并不是一件很難的事情(真的嗎?)递宅。每個node節(jié)點都分別啟動娘香。這里稍微注意的是,管理節(jié)點必須首先啟動办龄,然后是數(shù)據(jù)節(jié)點烘绽,最后才是sql節(jié)點。記住俐填,不然會報錯的诀姚。親測。

1. 啟動管理節(jié)點

shell>ndb_mgmd -f /var/lib/mysql-cluster/config.ini

首次啟動管理節(jié)點玷禽,ndb_mgmd必須帶上參數(shù)赫段,告訴我們配置文件(使用 -f或者--config-file參數(shù))

2. 在每個數(shù)據(jù)節(jié)點的主機,執(zhí)行一下命令開啟ndbd進程

shell>ndbd

3. 如果你使用RPM文件安裝Mysql矢赁,你可以(必須)用提供的腳本啟動Mysql服務(wù)進程啟動sql節(jié)點糯笙。

4. 如果所有步驟都弄好了,那mysql集群也就算是搭建好了撩银。你可以使用ndb_mgm命令來管理節(jié)點客戶端(數(shù)據(jù)節(jié)點和sql節(jié)點)给涕。看起來额获,應(yīng)該像下面所示

shell>ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm>SHOWConnected to Management Server at: localhost:1186Cluster Configuration---------------------

[ndbd(NDB)]? ? 2 node(s)

id=2? ? @192.168.0.30? (Version: 5.6.32-ndb-7.4.13, Nodegroup: 0, *)

id=3? ? @192.168.0.40? (Version: 5.6.32-ndb-7.4.13, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1? ? @192.168.0.10? (Version: 5.6.32-ndb-7.4.13)

[mysqld(API)]? 1 node(s)

id=4? ? @192.168.0.20? (Version: 5.6.32-ndb-7.4.13)

上面的[mysqld(API)]就是sql節(jié)點了够庙。這就告訴我們一件事,mysqld進程作為一個集群api存在

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抄邀,一起剝皮案震驚了整個濱河市耘眨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌境肾,老刑警劉巖剔难,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異奥喻,居然都是意外死亡偶宫,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門环鲤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纯趋,“玉大人,你說我怎么就攤上這事〕趁埃” “怎么了唇兑?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長桦锄。 經(jīng)常有香客問我,道長蔫耽,這世上最難降的妖魔是什么结耀? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮匙铡,結(jié)果婚禮上图甜,老公的妹妹穿的比我還像新娘。我一直安慰自己鳖眼,他們只是感情好黑毅,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著钦讳,像睡著了一般矿瘦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上愿卒,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天缚去,我揣著相機與錄音,去河邊找鬼琼开。 笑死易结,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的柜候。 我是一名探鬼主播搞动,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼渣刷!你這毒婦竟也來了鹦肿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤辅柴,失蹤者是張志新(化名)和其女友劉穎狮惜,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碌识,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡碾篡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了筏餐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片开泽。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖魁瞪,靈堂內(nèi)的尸體忽然破棺而出穆律,到底是詐尸還是另有隱情惠呼,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布峦耘,位于F島的核電站剔蹋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏辅髓。R本人自食惡果不足惜泣崩,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洛口。 院中可真熱鬧矫付,春花似錦、人聲如沸第焰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挺举。三九已至杀赢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間湘纵,已是汗流浹背葵陵。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞻佛,地道東北人脱篙。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像伤柄,于是被迫代替她去往敵國和親绊困。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

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