標籤:mysql cluster 資料庫 叢集
MySQL Cluster 是一種技術,該技術允許在無共用的系統中部署“記憶體中”資料庫的 Cluster 。通過無共用體繫結構,系統能夠使用廉價的硬體,而且對軟硬體無特殊要求。此外,由於每個組件有自己的記憶體和磁碟,不存在單點故障。
MySQL Cluster 由一組電腦構成,每台電腦上均運行著多種進程,包括MySQL伺服器,NDB Cluster 的資料節點,管理伺服器,以及(可能)專門的資料訪問程式。
“NDB” 是一種“記憶體中”的儲存引擎,它具有可用性高和資料一致性好的特點。
下面我們簡單介紹MySQL Cluster如何安裝與配置:
基本設定
管理(MGM)節點:192.168.1.235
MySQL伺服器(SQL)節點:192.168.1.236
資料(NDBD)節點"A":192.168.1.237
資料(NDBD)節點"B":192.168.1.238
一、mysql叢集安裝
mysql的叢集安裝可以有三種方式,一是直接下載二進位使用,二是使用rpm安裝,三是源碼編譯。我們這裡使用第二種安裝。
1.1、每個節點做相同的操作
rpm -qa | grep mysql //查詢系統已安裝的mysql程式包;
rpm -e XXX --nodeps //XXX 為上面尋找出來的所有程式包;
yum -y install libaio libaio-devel // 安裝IO程式開發包;
cd /usr/local/src/ //進入使用者src目錄,你也可以自行選擇;
wget http://cdn.mysql.com/Downloads/MySQL-Cluster-7.3/MySQL-Cluster-gpl-7.3.7-1.el6.i686.rpm-bundle.tar //下載mysql cluster 32位安裝包;
tar xvf MySQL-Cluster-gpl-7.3.7-1.el6.i686.rpm-bundle.tar // 解壓下載好的安裝包;
mkdir -p /var/lib/mysql/data
mkdir -p /var/run/mysqld
chmod -R 1777 /var/lib/mysql
chmod -R 1777 /var/run/mysqld
rpm -ivh MySQL-Cluster-server-gpl-7.3.7-1.el6.i686.rpm //安裝完,會有提示root的密碼存放在/roo/.mysql_secret檔案;
rpm -ivh MySQL-Cluster-client-gpl-7.3.7-1.el6.i686.rpm
建立一個檔案 vi /etc/my.cnf ,內容如下:
-------------------------------------------
[client]
socket=/var/lib/mysql/mysql.sock
[mysqld]
max_connections=100
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
ndbcluster
ndb-connectstring=192.168.1.235
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_cluster]
ndb-connectstring=192.168.1.235
-------------------------------------------
1.2、組態管理節點
mkdir -p /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
touch config.ini
vim config.ini ,內容如下:
--------------------------------------
[ndb_mgmd default]
DataDir=/var/lib/mysql-cluster
[ndb_mgmd]
HostName=192.168.1.235
[ndbd default]
NoOfReplicas=2
DataMemory=100M
IndexMemory=10M
[ndbd]
HostName=192.168.1.237
DataDir=/var/lib/mysql
[ndbd]
HostName=192.168.1.238
DataDir=/var/lib/mysql
[mysqld]
HostName=192.168.1.236
--------------------------------------
二、啟動各節點
注意:節點的啟動順序為管理節點->資料節點->SQL節點
2.1、啟動管理節點
/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
2.2、啟動資料節點
初次開機需要--initial參數初始化,下一次啟動就不需要了
ndbd --initial
2.3、啟動SQL節點
mysqld_safe &
2.4、檢查狀態
如果一切正常,在管理節點執行命令 ndb_mgm -e show應該會輸出類似資訊:
[[email protected] mysql-cluster]# ndb_mgm -e show
Connected to Management Server at: 192.168.1.235:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.1.237 (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0, *)
id=3 @192.168.1.238 (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.1.235 (mysql-5.6.21 ndb-7.3.7)
[mysqld(API)] 1 node(s)
id=4 @192.168.1.236 (mysql-5.6.21 ndb-7.3.7)
2.5、測試SQL服務資料庫是否正常
在SQL節點上執行如下資料庫操作:
# mysql -uroot -p //輸入/root/.mysql_secret 檔案裡的密碼;
mysql> set password password(‘xxxxxx‘); //首次進入資料庫,必須先更改root密碼;
mysql> create database clusterdb;use clusterdb;
mysql> create table simples (id int not null primary key) engine=ndb;
mysql> insert into simples values (1),(2),(3),(4);
mysql> select * from simples;
如果出現:
+----+
| id |
+----+
| 1 |
| 2 |
| 4 |
| 3 |
+----+
則表示工作正常。
三、安全關閉和重啟各節點
3.1、關閉mysql叢集,可在管理節點在執行如下命令:
# ndb_mgm -e shutdown
3.2、重啟管理節點
# ndb_mgmd -f /var/lib/mysql-cluster/config.ini
3.3、重啟資料節點
# ndbd
本文出自 “方寸小山” 部落格,請務必保留此出處http://63638790.blog.51cto.com/513514/1574049
MySQL叢集安裝與配置