mysql(四):mysql集群環(huán)境搭建

說明

集群

MySQL集群的設(shè)計(jì)實(shí)現(xiàn)了毫秒級響應(yīng)性能损搬,每秒支持?jǐn)?shù)百萬次操作郭宝。MySQL集群還支持內(nèi)存和磁盤數(shù)據(jù)存儲专肪,自動數(shù)據(jù)分區(qū)(分片),帶有負(fù)載均衡功能趁尼,使線性數(shù)據(jù)庫可以有效地擴(kuò)展

相關(guān)詞解釋

ndbd:數(shù)據(jù)庫存儲節(jié)點(diǎn)埃碱,內(nèi)存需要偏大

mysqld:mysql服務(wù)器負(fù)載均衡節(jié)點(diǎn)猖辫,程序直接訪問的服務(wù)器

ndbd_mgm ndbd_mgmd:管理節(jié)點(diǎn)酥泞,管理數(shù)據(jù)庫節(jié)點(diǎn)狀態(tài)等,管理服務(wù)器一旦停止啃憎,所有節(jié)點(diǎn)全部停止工作

負(fù)載均衡

實(shí)現(xiàn)集群訪問節(jié)點(diǎn)的均衡訪問壓力芝囤。

主從復(fù)制

對數(shù)據(jù)進(jìn)行遠(yuǎn)程復(fù)制到從服務(wù)器,實(shí)現(xiàn)容災(zāi)辛萍、負(fù)載均衡功能悯姊,并可自行配置能讀寫分離功能。

相互之間的關(guān)系

集群和主從復(fù)制:集群的復(fù)制是相互的贩毕,在MySQL集群中悯许,所有的數(shù)據(jù)總是保持同步。在任何數(shù)據(jù)節(jié)點(diǎn)上提交的事務(wù)都同步到所有其他的數(shù)據(jù)節(jié)點(diǎn)上了辉阶,如果有一個數(shù)據(jù)節(jié)點(diǎn)失敗了先壕,其他正常的數(shù)據(jù)節(jié)點(diǎn)照樣能保持?jǐn)?shù)據(jù)的一致性,但主從復(fù)制是單向的谆甜,從節(jié)點(diǎn)不接受(CUD)

集群和負(fù)載均衡:集群的從機(jī)是作為standby垃僚,不參與訪問(從屬主節(jié)點(diǎn)失效才參與),負(fù)載均衡是分擔(dān)客戶所有的訪問(4種負(fù)載算法)

負(fù)載均衡和主從復(fù)制:進(jìn)行主從復(fù)制的環(huán)境规辱,可以對讀寫進(jìn)行分離谆棺,形成自己的負(fù)載均衡。

Mysql集群安裝

1罕袋、刪除虛擬機(jī)131和132中之前安裝的mysql主主環(huán)境

停止mysql服務(wù)改淑,刪除mysql安裝目錄

刪除mysql配置文件

到根目錄查詢所有mysql相關(guān)文件


批量刪除這些文件

2碍岔、管理節(jié)點(diǎn)安裝(133)

首先在/usr/local/目錄下面解壓mysql集群包

其次安裝以下步驟進(jìn)行安裝

groupadd mysql

useradd mysql -g mysql

mv/usr/local/mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64/usr/local/mysql

cd ?/usr/local

chown -R mysql:mysql mysql

cd mysql

./scripts/mysql_install_db --user=mysql

3、數(shù)據(jù)節(jié)點(diǎn)安裝(132和131)

數(shù)據(jù)節(jié)點(diǎn)的安裝和上面的管理節(jié)點(diǎn)安裝一樣溅固,只是多了以下幾步

#cp support-files/mysql.server /etc/init.d/mysqld

yum list|grep ncurses

yum -y install ncurses-devel

yum install ncurses-devel

4付秕、mysql管理節(jié)點(diǎn)(133)配置

1、現(xiàn)在開始為這臺管理節(jié)點(diǎn)服務(wù)器建立日志文件:# mkdir /var/lib/mysql-cluster# cd /var/lib/mysql-cluster

2侍郭、管理節(jié)點(diǎn)服務(wù)器建立配置文件:# vi config.ini

配置文件詳細(xì):http://laowafang.blog.51cto.com/251518/659121

在config.ini中添加如下內(nèi)容:

#定義默認(rèn)參數(shù)

[ndbd default]

#設(shè)置集群中每個表保存的副本數(shù)

NoOfReplicas=2

#并發(fā)(根據(jù)自己服務(wù)器配置硬件性能進(jìn)行配置)

MaxNoOfConcurrentOperations= 100

#設(shè)置用于保存數(shù)據(jù)的內(nèi)存大小(根據(jù)自己服務(wù)器配置硬件性能進(jìn)行配置)

DataMemory=120MB

#設(shè)置用于保存哈希索引的內(nèi)存大小(根據(jù)自己服務(wù)器配置硬件性能進(jìn)行配置)

IndexMemory=80MB

#數(shù)據(jù)節(jié)點(diǎn)目錄

datadir=/usr/local/mysql/data/

TimeBetweenWatchDogCheck=30000MaxNoOfOrderedIndexes=1024

#設(shè)定管理節(jié)點(diǎn)相關(guān)參數(shù)

[ndb_mgmd]

#指定管理節(jié)點(diǎn)的數(shù)據(jù)(日志)文件主目錄

datadir=/var/lib/mysql-cluster

LogDestination=FILE:filename=/var/log/mgmd.log

#指定ID號

id =13

#指定管理節(jié)點(diǎn)主機(jī)

hostname=192.168.109.133

#設(shè)定數(shù)據(jù)節(jié)點(diǎn)相關(guān)參數(shù)

[ndbd]

id =14

hostname=192.168.109.132

[ndbd]

id = 15

hostname=192.168.109.131

#表示允許有2臺MySQL服務(wù)器從任何IP訪問數(shù)據(jù)庫結(jié)點(diǎn)询吴,但為了能夠更快的更換集群中的服務(wù)器,推薦留空亮元,否則更換服務(wù)器后必須對這個配置進(jìn)行更改

[mysqld]

[mysqld]

啟動管理節(jié)點(diǎn):./ndb_mgmd -f /var/lib/mysql-cluster/config.ini--reload重新加載管理節(jié)點(diǎn)(當(dāng)config.ini文件修改了以后)

管理節(jié)點(diǎn)日志:/var/lib/mysql-cluster

如下圖所示猛计,可以看到管理節(jié)點(diǎn)133已經(jīng)成功啟動,在等待數(shù)據(jù)節(jié)點(diǎn)和數(shù)據(jù)庫實(shí)例131和132連接進(jìn)來爆捞。


5奉瘤、mysql數(shù)據(jù)節(jié)點(diǎn)(132和131)配置

?vi /etc/my.cnf

[mysqld]

default-storage-engine=NDBCLUSTER

datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

port=3306

ndbcluster

ndb-connectstring=192.168.109.133

socket=/tmp/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log-bin=mysql-bin

server-id=14

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[mysql_cluster]

ndb-connectstring=192.168.109.133

機(jī)器上啟動MySQL存儲節(jié)點(diǎn)(131和132都要執(zhí)行):/usr/local/mysql/bin/ndbd

在機(jī)器上啟動數(shù)據(jù)庫負(fù)載均衡節(jié)點(diǎn)(131和132一起執(zhí)行):/etc/rc.d/init.d/mysqld start

數(shù)據(jù)節(jié)點(diǎn)啟動成功后,可以在管理節(jié)點(diǎn)上執(zhí)行查看是否啟動成功:

在131和132上修改登錄密碼后進(jìn)行登錄即可

授權(quán)登錄

客戶端連接

如下圖所示煮甥,可以看到客戶端已經(jīng)正確連接進(jìn)去了盗温。

Mysql集群環(huán)境創(chuàng)建數(shù)據(jù)庫和表,測試環(huán)境的正常

? ? 1成肘、數(shù)據(jù)庫創(chuàng)建

? ????直接在131上創(chuàng)建數(shù)據(jù)庫wangjing ? 卖局,那么132中會立即同步

????2、創(chuàng)建表

? ??在131上中創(chuàng)建了用戶表sys_user双霍,且寫入了數(shù)據(jù)砚偶,可以看到132中已經(jīng)立即同步了。

注意

注意:/etc/rc.d/init.d/mysqld start啟動成功后洒闸,沒有連接上管理節(jié)點(diǎn)染坯,且存儲節(jié)點(diǎn)時不時斷掉,是因?yàn)楣芾砉?jié)點(diǎn)中/var/lib/mysql-cluster/config.ini配置文件內(nèi)存和數(shù)據(jù)的配置太大了丘逸,超過了了本身機(jī)身的內(nèi)存)单鹿。

Mysql數(shù)據(jù)庫引擎

????????集群模式之前我們都是用戶INNODB引擎進(jìn)行操作的,集群環(huán)境下是用的NDBCLUSTER方式操作的深纲。

以下幾種為常見的數(shù)據(jù)庫引擎

????????MyISAM該引擎基于ISAM數(shù)據(jù)庫引擎仲锄,除了提供ISAM里所沒有的索引和字段管理等大量功能,MyISAM還使用一種表格鎖定的機(jī)制來優(yōu)化多個并發(fā)的讀寫操作囤萤,但是需要經(jīng)常運(yùn)行OPTIMIZE TABLE命令昼窗,來恢復(fù)被更新機(jī)制所浪費(fèi)的空間,否則碎片也會隨之增加涛舍,最終影響數(shù)據(jù)訪問性能澄惊。MyISAM還有一些有用的擴(kuò)展,例如用來修復(fù)數(shù)據(jù)庫文件的MyISAMChk工具和用來恢復(fù)浪費(fèi)空間的MyISAMPack工具。MyISAM強(qiáng)調(diào)了快速讀取操作掸驱,主要用于高負(fù)載的select肛搬,這可能也是MySQL深受Web開發(fā)的主要原因:在Web開發(fā)中進(jìn)行的大量數(shù)據(jù)操作都是讀取操作,所以大多數(shù)虛擬主機(jī)提供商和Internet平臺提供商(Internet Presence Provider毕贼,IPP)只允許使用MyISAM格式靴迫。MyISAM類型的表支持三種不同的存儲結(jié)構(gòu):靜態(tài)型夏志、動態(tài)型俭驮、壓縮型翘悉。

? ??? ??InnoDB該存儲引擎為MySQL表提供了ACID事務(wù)支持、系統(tǒng)崩潰修復(fù)能力和多版本并發(fā)控制(即MVCC Multi-Version Concurrency Control)的行級鎖;該引擎支持自增長列(auto_increment),自增長列的值不能為空待秃,如果在使用的時候?yàn)榭談t自動從現(xiàn)有值開始增值拜秧,如果有但是比現(xiàn)在的還大,則直接保存這個值;該引擎存儲引擎支持外鍵(foreign key),外鍵所在的表稱為子表而所依賴的表稱為父表章郁。該引擎在5.5后的MySQL數(shù)據(jù)庫中為默認(rèn)存儲引擎枉氮。

Cluster/NDB該存儲引擎用于多臺數(shù)據(jù)機(jī)器聯(lián)合提供服務(wù)以提高整體性能和安全性。適合數(shù)據(jù)量大暖庄、安全和性能要求高的場景聊替。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市培廓,隨后出現(xiàn)的幾起案子惹悄,更是在濱河造成了極大的恐慌,老刑警劉巖医舆,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俘侠,死亡現(xiàn)場離奇詭異象缀,居然都是意外死亡蔬将,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門央星,熙熙樓的掌柜王于貴愁眉苦臉地迎上來霞怀,“玉大人,你說我怎么就攤上這事莉给”惺” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵颓遏,是天一觀的道長徐矩。 經(jīng)常有香客問我,道長叁幢,這世上最難降的妖魔是什么滤灯? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上鳞骤,老公的妹妹穿的比我還像新娘窒百。我一直安慰自己,他們只是感情好豫尽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布篙梢。 她就那樣靜靜地躺著,像睡著了一般美旧。 火紅的嫁衣襯著肌膚如雪渤滞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天榴嗅,我揣著相機(jī)與錄音蔼水,去河邊找鬼。 笑死录肯,一個胖子當(dāng)著我的面吹牛趴腋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播论咏,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼优炬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了厅贪?” 一聲冷哼從身側(cè)響起蠢护,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎养涮,沒想到半個月后葵硕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贯吓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年懈凹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悄谐。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡介评,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出爬舰,到底是詐尸還是另有隱情们陆,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布情屹,位于F島的核電站坪仇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏垃你。R本人自食惡果不足惜椅文,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一颈墅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雾袱,春花似錦恤筛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至林说,卻和暖如春煎殷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腿箩。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工豪直, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人珠移。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓弓乙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钧惧。 傳聞我的和親對象是個殘疾皇子暇韧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

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