MySQL cluster 7.2叢集部署配置

wolfreturn發表於2015-09-16
MySQL cluster 7.2叢集部署配置


本文主要介紹在CentOS 6.3系統上搭建MySQL cluster 7.2.10叢集的方法。

1. MySQL cluster簡介

MySQL cluster主要有三種型別節點:

Data node,資料節點將儲存資料庫,它會自動複製所有的資料節點;

Daemon node,守護節點相當於是SQL資料庫和客戶端之間的介面,它提供從資料節點查詢等操作,類似於"閘道器";

Management node,管理節點,用以監控和管理整個叢集。

2. 部署配置方法

本文介紹使用2臺伺服器(100與101)部署最簡單的叢集方法:其中100上部署Data node,Daemon node及Management node;101上部署Data node,Daemon node。

(2.1-2.3為所有節點均需執行的步驟,2.4和2.5為相關節點需執行的步驟)

2.1下載MySQL cluster最新版本7.2.10,解壓移動至 /usr/local/mysql目錄下

wget />
tar -zxv -f mysql-cluster-gpl-7.2.10-linux2.6-x86_64.tar.gz

mv mysql-cluster-gpl-7.2.10-linux2.6-x86_64 /usr/local/mysql   (/var/lib/mysql根據安裝目錄而定)

2.2 新增mysql使用者組及使用者,修改相關目錄許可權

groupadd mysql

useradd mysql -g mysql

cd /usr/local cd /var/lib/

chown -R mysql:mysql mysql

2.3 安裝MySQL cluster

cd mysql

scripts/mysql_install_db --user=mysql

2.4 配置管理節點

#建立目錄

mkdir -p /var/lib/mysql-cluster

#修改配置檔案

vim /var/lib/mysql-cluster/config.ini

#config.ini內容如下

[ndbd default]

#NoOfReplicas表示資料份數,如果為1,會有資料節點單點故障

NoOfReplicas=2

DataMemory=200M

IndexMemory=30M

[ndb_mgmd]

id=1

hostname=192.168.85.100

datadir=/var/lib/mysql-cluster/

[ndbd]

id=2

hostname=192.168.85.101

datadir=/usr/local/mysql/data

[ndbd]

id=3

hostname=192.168.85.100

datadir=/usr/local/mysql/data

[mysqld]

id=4

hostname=192.168.85.100

[mysqld]

id=5

hostname=192.168.85.101

[mysqld]

id=6

2.5 配置資料節點和守護節點

#複製檔案,建立相關目錄

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

mkdir -p /var/mysql/data

mkdir -p /var/mysql/logs

# 修改配置檔案

vim /etc/my.cnf

#my.cnf內容如下:

[mysqld]

ndbcluster

datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

socket=/tmp/mysql.sock

port=3307

ndb-connectstring=192.168.85.100

[mysql_cluster]

ndb-connectstring=192.168.85.100

2.6 啟動節點

啟動需要按照如下順序進行:Management Node > Data Node > SQL Node

2.6.1 管理結點啟動

/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

其他操作:

# 檢視是否有埠號為1186的監聽埠

netstat -lntpu

# 檢視叢集狀態

/usr/local/mysql/bin/ndb_mgm -e show

# 管理節點檢驗

/usr/local/mysql/bin/ndb_mgm

# 管理節點關閉

/usr/local/mysql/bin/ndb_mgm -e shutdown

2.6.2 資料節點啟動

# 只是在第一次啟動或在備份/恢復或配置變化後重啟ndbd時,才加–initial引數!

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

# 正常啟動方式

/usr/local/mysql/bin/ndbd

2.6.3 SQL節點啟動

service mysqld start

# sql 節點關閉

service mysql stop

# 檢驗mysql是否執行

/etc/rc.d/init.d/mysqld status

# 為sql指定密碼

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'

/usr/local/mysql/bin/mysqladmin -u root -h 'host' password 'new-password'

# 啟動命令列視窗

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

3. 驗證MySQL cluster功能

下面在伺服器上A上新建表並插入資料,在伺服器B上驗證MySQL cluster是否將資料同步。

3.1 在伺服器A上執行如下語句

#進入sql監視器,注意後續的命令均已;或\g結尾

/usr/local/mysql/bin/mysql

163744.png

#檢視資料庫

Show databases;

844245.png

#使用test庫

Use test;

268229.png

#檢視test庫,顯示為空

Show tables;

641129.png

#建立person表

create table person(id int,name varchar(40),birthday date)ENGINE=ndb;

469421.png

#插入資料

Insert into person values(1,’Mike',19821212);

934167.png

#檢視錶中資料

Select * from test.person;

190583.png

3.2 在伺服器B上執行如下語句

#進入sql監視器

/usr/local/mysql/bin/mysql

#檢視錶中資料,可以看到資料已經同步

Select * from test.person;

589720.png

同樣也可在伺服器B上執行Insert/Update/Delete等操作,然後在伺服器A上驗證資料是否同步。

關閉節點2

[root@mysql ~]# /main/mysql/bin/mysqladmin shutdown

節點1插入資料

367500.png

啟動節點2

[root@mysql main]# /main/mysql/bin/mysql

987940.png



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24742969/viewspace-1801137/,如需轉載,請註明出處,否則將追究法律責任。

相關文章