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/