日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql cluster (mysql 集群)安装配置方案

發(fā)布時(shí)間:2025/7/25 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql cluster (mysql 集群)安装配置方案 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、說(shuō)明

本文參考:http://www.cnblogs.com/jackluo/archive/2013/01/19/2868152.html

1.準(zhǔn)備服務(wù)器

計(jì)劃建立有5個(gè)節(jié)點(diǎn)的MySQL CLuster體系,需要用到5臺(tái)服務(wù)器,但是我們做實(shí)驗(yàn)時(shí)沒(méi)有這么多機(jī)器,可以只用3臺(tái),提供5個(gè)節(jié)點(diǎn)的MySQL CLuster體系,將SQL節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)共用一臺(tái)機(jī)器,具體如下。

主機(jī)名

節(jié)點(diǎn)

對(duì)應(yīng)的IP和端口

DB-mgm

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

10.10.6.201:1186

DB-node1

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

10.10.6.211:2202

DB-node1

SQL節(jié)點(diǎn)

10.10.6.211:3306

DB-node2

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

10.10.6.212:2202

DB-node2

SQL節(jié)點(diǎn)

10.10.6.212:3306

2.準(zhǔn)備軟件包

現(xiàn)在的mysql提供了一個(gè)專門作集群的安裝包,這樣就不用一個(gè)個(gè)的下載所需要的工具了。從官網(wǎng)下載。

http://cdn.mysql.com/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.5-linux-glibc2.5-x86_64.tar.gz

二、安裝

(一)數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn)(各兩臺(tái))

1.添加mysql用戶和組,這是必需的。

[root@DB-node1 ~]# groupadd mysql

[root@DB-node1 ~]# useradd -g mysql mysql

[root@DB-node1 ~]#?

2.開(kāi)始安裝,下載的版本是免編譯的,復(fù)制過(guò)來(lái)就可以用了。

[root@DB-node1 ~]# http://cdn.mysql.com/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.5-linux-glibc2.5-x86_64.tar.gz
[root@DB-node1 ~]# tar -zxvf mysql-cluster-gpl-7.4.5-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

[root@DB-node1 ~]# ln -sv /usr/local/mysql-cluster-gpl-7.4.5-linux-glibc2.5-x86_64/ /usr/local/mysql

[root@DB-node1 ~]#

3.修改目錄權(quán)限,這也是必需的,不然第四步會(huì)報(bào)錯(cuò)的。

[root@DB-node1 ~]# chown -R mysql.root /usr/local/mysql

[root@DB-node1 ~]# chown -R mysql.root /usr/local/mysql/

[root@DB-node1 ~]#?

4.安裝初始的數(shù)據(jù)庫(kù)表

[root@DB-node1 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql

FATAL ERROR: Could not find ./bin/my_print_defaults

If you compiled from source, you need to run 'make install' to

copy the software into the correct location ready for operation.

If you are using a binary release, you must either be at the top

level of the extracted archive, or pass the --basedir option

pointing to that location.

如果出現(xiàn)上面錯(cuò)誤,說(shuō)明沒(méi)有指定mysql目錄,需手工指定。

解決方法

[root@DB-node1 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

5.設(shè)置mysql服務(wù)為開(kāi)機(jī)自啟動(dòng)并啟動(dòng)

[root@DB-node1 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@DB-node1 ~]# chmod +x /etc/rc.d/init.d/mysqld?

[root@DB-node1 ~]# chkconfig --add mysqld?

[root@DB-node1 ~]# chkconfig --list mysqld????????

mysqld????????? 0:off?? 1:off?? 2:on??? 3:on??? 4:on??? 5:on??? 6:off

[root@DB-node1 ~]#

[root@DB-node1 ~]# service mysqld start

到這一步,在數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn)上就算安裝好了。

(二)管理節(jié)點(diǎn)

管理節(jié)點(diǎn)的安裝更簡(jiǎn)單,只要在數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn)服務(wù)器上復(fù)制些文件出來(lái)就行了,雖然只有一步,[root@DB-mgm ~]# scp 10.10.6.211:/usr/local/mysql/bin/ndb_mgm* /usr/local/bin/

[root@DB-mgm ~]# ll /usr/local/bin/ndb*

-rwxr-xr-x 1 root root? 7137184 Apr 13 09:45 /usr/local/bin/ndb_mgm

-rwxr-xr-x 1 root root 16336025 Apr 13 09:45 /usr/local/bin/ndb_mgmd

[root@DB-mgm ~]#?

管理節(jié)點(diǎn)只要ndb_mgm和ndb_mgmd兩個(gè)文件和一個(gè)配置文件即可,因此把這三個(gè)文件復(fù)制到那里,那里就是管理節(jié)點(diǎn)了。ndb_mgmd是mysql cluster管理服務(wù)器,ndb_mgm是客戶端管理工具,等一下會(huì)用到它們的。到目前為止兩個(gè)SQL節(jié)點(diǎn)兩個(gè)數(shù)據(jù)節(jié)點(diǎn)和一個(gè)管理節(jié)點(diǎn)都安裝完成了,但是還不能工作,得進(jìn)行配置,把這幾個(gè)節(jié)點(diǎn)聯(lián)系在一起協(xié)同工作。

三、配置

(一)數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn)(各兩臺(tái))

mysql服務(wù)啟動(dòng)時(shí)會(huì)默認(rèn)加載/etc/my.cnf作為其配置文件,要將一個(gè)mysql服務(wù)器配置成一個(gè)數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn)也非常的簡(jiǎn)單:

只要在內(nèi)容結(jié)尾加上下面4行就將這個(gè)mysql服務(wù)器變成了一個(gè)數(shù)據(jù)節(jié)點(diǎn)和SQL節(jié)點(diǎn)。

ndbcluster???????????????????????????? \\運(yùn)行NDB存儲(chǔ)引擎

ndb-connectstring=10.10.6.201????????? \\指定管理節(jié)點(diǎn)? 這兩行聲明其為SQL節(jié)點(diǎn)

[mysql_cluster]

ndb-connectstring=10.10.6.201????????? \\指定管理節(jié)點(diǎn)? 這兩行聲明其為數(shù)據(jù)節(jié)點(diǎn)

新建mysql的配置文件

[root@DB-node1 ~]# vi /etc/my.cnf

[root@DB-node1 ~]# more /etc/my.cnf?

[client]

port=3306

socket=/usr/local/mysql/mysql.sock

[mysqld]

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data

user= mysql

pid-file=/usr/local/mysql/mysqld.pid

log-error=/usr/local/mysql/mysqld.err

以下四行為新增加內(nèi)容

ndbcluster???????????????????????????? \\運(yùn)行NDB存儲(chǔ)引擎

ndb-connectstring=10.10.6.201????????? \\指定管理節(jié)點(diǎn)? 這兩行聲明其為SQL節(jié)點(diǎn)

[mysql_cluster]

ndb-connectstring=10.10.6.201????????? \\指定管理節(jié)點(diǎn)? 這兩行聲明其數(shù)據(jù)節(jié)點(diǎn)

[root@DB-node1 ~]#

注意兩臺(tái)服務(wù)器都得這樣配置。

(二)管理節(jié)點(diǎn)

管理節(jié)點(diǎn)的配置復(fù)雜一點(diǎn),在管理服務(wù)器/usr/local/mysql/目錄中創(chuàng)建config.ini文件。

網(wǎng)上說(shuō) 使用mysql-cluster,但是啟動(dòng)時(shí) 總時(shí)有如下提示:

[root@DB-mgm ~]# ndb_mgmd -f /usr/local/mysql-cluster/config.ini?

MySQL Cluster Management Server mysql-5.6.23 ndb-7.4.5

2015-04-13 14:13:28 [MgmtSrvr] INFO???? -- The default config directory '/usr/local/mysql/mysql-cluster' does not exist. Trying to create it...

Failed to create directory '/usr/local/mysql/mysql-cluster', error: 2

2015-04-13 14:13:28 [MgmtSrvr] ERROR??? -- Could not create directory '/usr/local/mysql/mysql-cluster'. Either create it manually or specify a different directory with --configdir=<path>

[root@DB-mgm ~]#?

最后改成了/usr/local/mysql,就可以了

[root@DB-mgm ~]# mkdir /usr/local/mysql

[root@DB-mgm ~]# vi /usr/local/mysql/config.ini

[root@DB-mgm ~]# more /usr/local/mysql/config.ini?

[NDBD DEFAULT]

NoOfReplicas=1?????????? \\每個(gè)數(shù)據(jù)節(jié)點(diǎn)的鏡像數(shù)量

DataMemory=500M????????? \\每個(gè)數(shù)據(jù)節(jié)點(diǎn)中給數(shù)據(jù)分配的內(nèi)存

IndexMemory=300M???????? \\每個(gè)數(shù)據(jù)節(jié)點(diǎn)中給索引分配的內(nèi)存

[TCP DEFAULT]

portnumber=2202????????? \\數(shù)據(jù)節(jié)點(diǎn)的默認(rèn)連接端口

[NDB_MGMD]?????????????? \\配置管理節(jié)點(diǎn)

hostname=10.10.6.201

datadir=/usr/local/mysql/??????????? \\管理節(jié)點(diǎn)數(shù)據(jù)(日志)目錄

[NDBD]

hostname=10.10.6.211????????????????? \\數(shù)據(jù)節(jié)點(diǎn)配置

datadir=/usr/local/mysql/data/??????? \\數(shù)據(jù)節(jié)點(diǎn)目錄

[NDBD]

hostname=10.10.6.212

datadir=/usr/local/mysql/data/

[MYSQLD]???????????????????????????? \\SQL節(jié)點(diǎn)目錄

hostname=10.10.6.211

[MYSQLD]

hostname=10.10.6.212

[root@DB-mgm ~]#

[NDBD DEFAULT]:表示每個(gè)數(shù)據(jù)節(jié)點(diǎn)的默認(rèn)配置在每個(gè)節(jié)點(diǎn)的[NDBD]中不用再寫這些選項(xiàng),只能有一個(gè)。
[NDB_MGMD]:表示管理節(jié)點(diǎn)的配置,只有一個(gè)。
[NDBD]:表示每個(gè)數(shù)據(jù)節(jié)點(diǎn)的配置,可以有多個(gè)。
[MYSQLD]:表示SQL節(jié)點(diǎn)的配置,可以有多個(gè),分別寫上不同SQL節(jié)點(diǎn)的IP地址,也可以什么都不寫,只保留一個(gè)空節(jié)點(diǎn),表示任意一個(gè)IP地址都可以進(jìn)行訪問(wèn),此節(jié)點(diǎn)的個(gè)數(shù)表明了可以用來(lái)連接數(shù)據(jù)節(jié)點(diǎn)的SQL節(jié)點(diǎn)總數(shù)。

四、啟動(dòng)

(一)管理節(jié)點(diǎn)

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

mysql cluster 需要各個(gè)節(jié)點(diǎn)都 進(jìn)行啟動(dòng)后才可以工作,節(jié)點(diǎn)的啟動(dòng)順序?yàn)楣芾砉?jié)點(diǎn)->數(shù)據(jù)節(jié)點(diǎn)->SQL節(jié)點(diǎn)。首先啟動(dòng)管理節(jié)點(diǎn)

[root@DB-mgm ~]# ndb_mgmd -f /usr/local/mysql/config.ini?????????

MySQL Cluster Management Server mysql-5.6.23 ndb-7.4.5

2015-04-13 14:14:14 [MgmtSrvr] INFO???? -- The default config directory '/usr/local/mysql/mysql-cluster' does not exist. Trying to create it...

2015-04-13 14:14:14 [MgmtSrvr] INFO???? -- Sucessfully created config directory

2015-04-13 14:14:14 [MgmtSrvr] WARNING? -- at line 7: [TCP] portnumber is deprecated

[root@DB-mgm ~]#

[root@DB-mgm ~]# echo "/usr/local/bin/ndb_mgmd -f /usr/local/mysql/config.ini "? >>/etc/rc.local

[root@DB-mgm ~]#

命令行中的ndb_mgmd是mysql cluster的管理服務(wù)器,后面的-f表示后面的參數(shù)是啟動(dòng)的參數(shù)配置文件。如果在啟動(dòng)后過(guò)了幾天又添加了一個(gè)數(shù)據(jù)節(jié)點(diǎn),這時(shí)修改了配置文件啟動(dòng)時(shí)就必須加上--initial參數(shù),不然添加的節(jié)點(diǎn)不會(huì)作用在mysql cluster中。

./ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

啟動(dòng)時(shí)可能會(huì)報(bào)個(gè)WARNING,如WARNING? -- at line 7: [TCP] portnumber is deprecated,這個(gè)不用管。可以正常工作的。

2.查看有無(wú)啟動(dòng)成功

[root@DB-mgm ~]# ls /usr/local/mysql/

config.ini? mysql-cluster? ndb_1_cluster.log? ndb_1_out.log? ndb_1.pid

[root@DB-mgm ~]#?

[root@DB-mgm ~]# netstat -tlnp | grep 1186

tcp??????? 0????? 0 0.0.0.0:1186??????????????? 0.0.0.0:*?????????????????? LISTEN????? 3075/ndb_mgmd???????

[root@DB-mgm ~]# 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 (not connected, accepting connect from 10.10.6.211)

id=3 (not connected, accepting connect from 10.10.6.212)

[ndb_mgmd(MGM)] 1 node(s)

id=1??? @10.10.6.201? (mysql-5.6.23 ndb-7.4.5)

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

id=4 (not connected, accepting connect from 10.10.6.211)

id=5 (not connected, accepting connect from 10.10.6.212)

ndb_mgm> exit

[root@DB-mgm ~]#

(二)數(shù)據(jù)節(jié)點(diǎn)(兩臺(tái))

安裝后第一次啟動(dòng)數(shù)據(jù)節(jié)點(diǎn)時(shí)要加上--initial參數(shù),其它時(shí)候不要加,除非是在備份、恢復(fù)或配置變化后重啟時(shí)。

[root@DB-node1 ~]# /usr/local/mysql/bin/ndbd --initial

2015-04-13 14:49:59 [ndbd] INFO???? -- Angel connected to '10.10.6.201:1186'

2015-04-13 14:49:59 [ndbd] INFO???? -- Angel allocated nodeid: 2

[root@DB-node1 ~]# netstat -tlnp |grep 2202

tcp??????? 0????? 0 10.10.6.211:2202??????????? 0.0.0.0:*?????????????????? LISTEN????? 14780/ndbd??????????

[root@DB-node1 ~]#????

[root@DB-node1 ~]# echo /usr/local/mysql/bin/ndbd >>/etc/rc.local

[root@DB-node1 ~]#?

(三)SQL節(jié)點(diǎn)(兩臺(tái))

[root@DB-node1 ~]# service? mysqld start

Starting MySQL SUCCESS!?

[root@DB-node1 ~]#?

(四)客戶端管理

這時(shí)就進(jìn)入到客戶端或管理節(jié)點(diǎn),可以對(duì)mysql cluster進(jìn)行各項(xiàng)操作,進(jìn)入后會(huì)有ndb_mgm > 提示符出現(xiàn),首先來(lái)查看各節(jié)點(diǎn)的連接情況,在ndb_mgm> 提示符下輸入show:

[root@DB-mgm ~]# 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??? @10.10.6.211? (mysql-5.6.23 ndb-7.4.5, Nodegroup: 0, *)

id=3??? @10.10.6.212? (mysql-5.6.23 ndb-7.4.5, Nodegroup: 1)

[ndb_mgmd(MGM)] 1 node(s)

id=1??? @10.10.6.201? (mysql-5.6.23 ndb-7.4.5)

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

id=4??? @10.10.6.211? (mysql-5.6.23 ndb-7.4.5)

id=5??? @10.10.6.212? (mysql-5.6.23 ndb-7.4.5)

ndb_mgm> exit

可以看到各個(gè)節(jié)點(diǎn)已經(jīng)連接上了,至此,mysql cluster配置完成。

(五)關(guān)閉

mysql cluster的關(guān)閉也很簡(jiǎn)單,只需在ndb_mgm> 提示符下輸入 shutdown即可,這時(shí)會(huì)顯示各節(jié)點(diǎn)的關(guān)閉信息,再輸入exit即可退出ndb_mgm管理,回到shell中。雖然mysql cluster 關(guān)閉了,但是SQL節(jié)點(diǎn)的mysql服務(wù)并不會(huì)停止的。接下來(lái)就可以做各種試驗(yàn)了。

五、測(cè)試

(一)在一個(gè)SQL節(jié)點(diǎn)新建一個(gè)測(cè)試數(shù)據(jù)庫(kù),jedy_db

[root@DB-node1 mysql]# /usr/local/mysql/bin/mysql

mysql> create database jedy_db;

Query OK, 1 row affected (0.10 sec)

mysql> show databases;

+--------------------+

| Database?????????? |

+--------------------+

| information_schema |

| jedy_db??????????? |

| mysql????????????? |

| ndb_2_fs?????????? |

| ndbinfo??????????? |

| performance_schema |

| test?????????????? |

+--------------------+

7 rows in set (0.05 sec)

mysql> \q

Bye

[root@DB-node1 mysql]#?

(二)在另一個(gè)SQL節(jié)點(diǎn)查看

[root@DB-node2 mysql]# /usr/local/mysql/bin/mysql

mysql> show databases;

+--------------------+

| Database?????????? |

+--------------------+

| information_schema |

| jedy_db??????????? |

| mysql????????????? |

| ndb_3_fs?????????? |

| ndbinfo??????????? |

| performance_schema |

| test?????????????? |

+--------------------+

7 rows in set (0.06 sec)

mysql> \q

Bye

[root@DB-node2 mysql]#

所有配置完成

轉(zhuǎn)載于:https://www.cnblogs.com/jedy/p/4422547.html

總結(jié)

以上是生活随笔為你收集整理的mysql cluster (mysql 集群)安装配置方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。