MySQL cluster 7.2集群部署配置

jopen 11年前發布 | 18K 次閱讀 MySQL 數據庫服務器

本文主要介紹在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 nodeDaemon nodeManagement 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 http://mysql.mirror.kangaroot.net/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.10-linux2.6-x86_64.tar.gz

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

2.2 添加mysql用戶組及用戶,修改相關目錄權限

groupadd mysql

useradd mysql -g mysql

cd /usr/local

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

MySQL cluster 7.2集群部署配置

#查看數據庫

Show databases;

MySQL cluster 7.2集群部署配置

#使用test庫

Use test;

MySQL cluster 7.2集群部署配置

#查看test庫,顯示為空

Show test;

MySQL cluster 7.2集群部署配置

#創建person表

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

MySQL cluster 7.2集群部署配置

#插入數據

Insert into person values(1,'Kate',19821212);

MySQL cluster 7.2集群部署配置

#查看表中數據

Select * from test.person;

MySQL cluster 7.2集群部署配置

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

#進入sql監視器

/usr/local/mysql/bin/mysql

#查看表中數據,可以看到數據已經同步

Select * from test.person;

MySQL cluster 7.2集群部署配置

同樣也可在服務器B上執行Insert/Update/Delete等操作,然后在服務器A上驗證數據是否同步。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!