溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL數(shù)據(jù)庫集群的操作

發(fā)布時(shí)間:2021-09-16 07:51:39 來源:億速云 閱讀:143 作者:chen 欄目:MySQL數(shù)據(jù)庫

本篇內(nèi)容主要講解“MySQL數(shù)據(jù)庫集群的操作”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“MySQL數(shù)據(jù)庫集群的操作”吧!

2臺(tái)服務(wù)器MySQL集群。并且實(shí)現(xiàn)任意一臺(tái)服務(wù)器出現(xiàn)問題或宕機(jī)時(shí)MySQL依然能夠繼續(xù)運(yùn)行。

2MySQL2MySQL3VMWare

3

Server2MySQLServer3Server3MySQLServer3Server3

二、在Server1Server2上安裝MySQL

[url]http://www.mysql.com[/url]
mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
maxMySQLStandardServer1Server2


三、安裝并配置管理節(jié)點(diǎn)服務(wù)器(Server3)

=====================================
作為管理節(jié)點(diǎn)服務(wù)器,Server3需要ndb_mgmndb_mgmd兩個(gè)文件:[url]http://www.mysql.com[/url]上下載mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz

# mkdir /usr/src/mysql-mgm

# cd /usr/src/mysql-mgm

# tar -zxvf mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz

# rm mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz

# cd mysql-max-4.1.9-pc-linux-gnu-i686

# mv bin/ndb_mgm .

# mv bin/ndb_mgmd .

# chmod +x ndb_mg*

# mv ndb_mg* /usr/bin/

# cd

# rm -rf /usr/src/mysql-mgm
現(xiàn)在開始為這臺(tái)管理節(jié)點(diǎn)服務(wù)器建立配置文件:


# mkdir /var/lib/mysql-cluster

# cd /var/lib/mysql-cluster

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

[NDBD DEFAULT]

NoOfReplicas=2

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

# Managment Server

[NDB_MGMD]

HostName=192.168.0.3 #管理節(jié)點(diǎn)服務(wù)器Server3IP地址

# Storage Engines

[NDBD]

HostName=192.168.0.1 #MySQL
集群Server1IP地址

DataDir= /var/lib/mysql-cluster

[NDBD]

HostName=192.168.0.2 #MySQL
集群Server2IP地址

DataDir=/var/lib/mysql-cluster

#
以下2個(gè)[MYSQLD]可以填寫Server1Server2的主機(jī)名。

#
但為了能夠更快的更換集群中的服務(wù)器,推薦留空,否則更換服務(wù)器后必須對(duì)這個(gè)配置進(jìn)行更改。

[MYSQLD]

[MYSQLD]
保存退出后,啟動(dòng)管理節(jié)點(diǎn)服務(wù)器Server3

# ndb_mgmd
啟動(dòng)管理節(jié)點(diǎn)后應(yīng)該注意,這只是管理節(jié)點(diǎn)服務(wù),并不是管理終端。因而你看不到任何關(guān)于啟動(dòng)后的輸出信息。

四、配置集群服務(wù)器并啟動(dòng)MySQL

=============================
Server1Server2中都需要進(jìn)行如下改動(dòng):

# vi /etc/my.cnf

[mysqld]

ndbcluster

ndb-connectstring=192.168.0.3 #Server3IP地址

[mysql_cluster]

ndb-connectstring=192.168.0.3 #Server3
IP地址保存退出后,建立數(shù)據(jù)目錄并啟動(dòng)MySQL

# mkdir /var/lib/mysql-cluster

# cd /var/lib/mysql-cluster

# /usr/local/mysql/bin/ndbd --initial

# /etc/rc.d/init.d/mysqld start
可以把/usr/local/mysql/bin/ndbd加到/etc/rc.local中實(shí)現(xiàn)開機(jī)啟動(dòng)。注意:只有在第一次啟動(dòng)ndbd時(shí)或者對(duì)Server3config.ini進(jìn)行改動(dòng)后才需要使用--initial參數(shù)!

五、檢查工作狀態(tài)

================
回到管理節(jié)點(diǎn)服務(wù)器Server3上,并啟動(dòng)管理終端:

# /usr/bin/ndb_mgm
鍵入show命令查看當(dāng)前工作狀態(tài):(下面是一個(gè)狀態(tài)輸出示例)

[root@mysql3 root]# /usr/bin/ndb_mgm

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)] 2 node(s)

id=2 @192.168.0.1 (Version: 4.1.9, Nodegroup: 0, Master)

id=3 @192.168.0.2 (Version: 4.1.9, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @192.168.0.3 (Version: 4.1.9)

[mysqld(API)] 2 node(s)

id=4 (Version: 4.1.9)

id=5 (Version: 4.1.9)

ndb_mgm>

如果上面沒有問題,現(xiàn)在開始測(cè)試MySQL注意,這篇文檔對(duì)于MySQL并沒有設(shè)置root密碼,推薦你自己設(shè)置Server1Server2MySQL root密碼。Server1中:

# /usr/local/mysql/bin/mysql -u root -p

> use test;

> CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;

> INSERT INTO ctest () VALUES (1);

> SELECT * FROM ctest;
應(yīng)該可以看到1 row returned信息(返回?cái)?shù)值1)。如果上述正常,則換到Server2上重復(fù)上面的測(cè)試,觀察效果。如果成功,則在Server2中執(zhí)行INSERT再換回到Server1觀察是否工作正常。如果都沒有問題,那么恭喜成功!

六、破壞性測(cè)試

==============
Server1Server2的網(wǎng)線拔掉,觀察另外一臺(tái)集群服務(wù)器工作是否正常(可以使用SELECT查詢測(cè)試)。測(cè)試完畢后,重新插入網(wǎng)線即可。如果你接觸不到物理服務(wù)器,也就是說不能拔掉網(wǎng)線,那也可以這樣測(cè)試:Server1Server2上:

# ps aux | grep ndbd
將會(huì)看到所有ndbd進(jìn)程信息:

root 5578 0.0 0.3 6220 1964 ? S 03:14 0:00 ndbd

root 5579 0.0 20.4 492072 102828 ? R 03:14 0:04 ndbd

root 23532 0.0 0.1 3680 684 pts/1 S 07:59 0:00 grep ndbd
然后殺掉一個(gè)ndbd進(jìn)程以達(dá)到破壞MySQL集群服務(wù)器的目的:

# kill -9 5578 5579
之后在另一臺(tái)集群服務(wù)器上使用SELECT查詢測(cè)試。并且在管理節(jié)點(diǎn)服務(wù)器的管理終端中執(zhí)行show命令會(huì)看到被破壞的那臺(tái)服務(wù)器的狀態(tài)。測(cè)試完成后,只需要重新啟動(dòng)被破壞服務(wù)器的ndbd進(jìn)程即可:

# ndbd
注意!前面說過了,此時(shí)是不用加--inital參數(shù)的!至此,MySQL集群就配置完成了!

到此,相信大家對(duì)“MySQL數(shù)據(jù)庫集群的操作”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI