1 mysql cluster
MySQL Cluster是一種技術,使在無共享(shared-nothing)系統內存中的數據庫集羣。無共享(shared-nothing)的架構,使系統工作非常廉價的硬件,以最小的硬件或軟件的具體要求。
MySQL Cluster的設計不會有任何單點故障。預計在無共享(shared-nothing)的系統中,每個組件有自己的內存和磁盤,網絡共享,網絡文件系統和SAN共享存儲機制,如使用不推薦或支持。
2 下載
http://cdn.mysql.com/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.8-linux2.6-x86_64.tar.gz
3 建用戶
groupadd mysql
useradd -g mysql mysql
4解壓縮
tar xvf mysql-cluster-gpl-7.2.8-linux2.6-x86_64.tar.gz
ln -s mysql-cluster-gpl-7.2.8-linux2.6-x86_64 mysqlc
建目錄
mkdir my_cluster my_cluster /conf my_cluster /mysqld_data my_cluster /ndb_data
分別放置配置文件,mysqld數據,ndn數據
5 mysql 節點設計:
自動網站:http://www.mysqlab.net/tool/mysql-cluster/config.generator
6 mysql節點介紹:
ndb_mgm 網絡數據庫管理節點
ndn網絡數據庫 。datanode 實際的數據存儲點
sql node 運行mysqld的節點,提供數據庫服務連接的點。
7 例子
關於配置:
ndb_mgm 需要配置config.ini文件
ndn和sql node需要配置my.cnf文件
配置參數見 http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-configuration.html
cd my_cluster/conf
vi config.ini(ndb_mgm點)
vi my.cnf (sql node.ndbd node)
config.ini 描述所有 所有的節點和機器,
如下
[ndb_mgmd]
hostname=192.168.0.1
datadir=/home/mysql/my_cluster/ndb_data
NodeId=1
[ndbd default]
noofreplicas=2
datadir=/home/mysql/my_cluster/ndb_data
[ndbd]
hostname=192.168.0.2
NodeId=3
[ndbd]
hostname=192.168.0.3
NodeId=4
[ndbd]
hostname=192.168.0.4
NodeId=5
[ndbd]
hostname=192.168.0.5
NodeId=6
[mysqld]
NodeId=50
hostname=192.168.0.6
[mysqld]
NodeId=51
hostname=192.168.0.7
my.cnf描述 sql node
[mysqld]
datadir=/home/mysql/my_cluster/mysqld_data
basedir=/home/mysql/mysqlc
port=5000
socket=/home/mysql/tmp/mysql.sock
ndbcluster
ndb-connectstring=192.168.0.1:1186
[mysql_cluster]
ndb-connectstring=192.168.0.1:1186
8 啓動
順序如下:
ndb_mgm節點:
$HOME/mysqlc/bin/ndb_mgmd -f $HOME/my_cluster/conf/config.ini --initial --configdir=$HOME/my_cluster/conf/
ndbd節點:
$HOME/mysqlc/bin/ndbd -c nn1:1186
sql節點:
$HOME/mysqlc/bin/mysqld_safe --defaults-file=$HOME/my_cluster/conf/my.cnf
或者service mysql start
注意:
sql node安裝完成以後需要
$HOME/mysqlc/scripts/mysql_install_db --no-defaults --datadir=$HOME/my_cluster/mysqld_data/