安装版本为mysql-cluster-gpl-7.2.10-linux2.6-i686.tar.gz(下载地址http://dev.mysql.com/downloads/cluster#downloads)
系统为Linux虚拟机,CentOS-5.5。
虚拟机2个(保证防火墙关闭,不然可能部署会不成功)
ip:192.168.52.130 作为管理,数据节点,服务节点
ip:192.168.52.131 作为数据节点,服务节点
安装步骤
下面为每个节点都需要如下几步(其实管理可以不用,不过我做的时候都在一起,所以没太多研究):
1、下载解压到/usr/local/mysql(目录可以自己选)
tar -xvf mysql-cluster-gpl-7.2.10-linux2.6-i686.tar.gz
mv mysql-cluster-gpl-7.2.10-linux2.6-i686 /usr/local/mysql
2、创建mysql用户
useradd mysql
chown -R mysql:mysql /usr/local/mysql/
3、修改/etc/profile以方便使用
PATH=$PATH:/usr/local/mysql/bin
export PATH
4、安装mysql
cd /usr/local/mysql/scripts
./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
5、配置管理节点ndb
拷贝/usr/local/mysql/bin/ndb_mgm,ndb_mgmd两个文件到/usr/local/bin
cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin
到此所有的安装就结束了,下面是启动
节点的启动顺序为管理节点->数据节点->SQL节点
1启动管理节点
在管理节点上创建配置文件config.ini 步骤如下
mkdir /var/lib/mysql-cluster
vim /var/lib/mysql-cluster/config.ini
config.ini内容
[ndbd default]
NoOfReplicas=2
DataMemory=200M
IndexMemory=30M
[ndb_mgmd]
id=1
hostname=192.168.52.130
datadir=/var/lib/mysql-cluster/
[ndbd]
id=2
hostname=192.168.52.131
datadir=/usr/local/mysql/data
[ndbd]
id=3
hostname=192.168.52.130
datadir=/usr/local/mysql/data
[mysqld]
id=4
hostname=192.168.52.130
[mysqld]
id=5
hostname=192.168.52.131
[mysqld]
id=6
(注:NoOfReplicas表示数据份数,如果为1,会有数据节点单点故障)
在管理节点上启动管理服务
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
ndb_mgm -e show查看集群状态
![](https://img-my.csdn.net/uploads/201302/06/1360128780_7369.png)
管理节点就启动起来了。
其他机器连接管理节点测试
首先其他节点是不知道管理节点是哪个ip(因为其他节点没有config.ini)
所以要配置,配置文件放在/etc/my.cnf,mysql在启动服务的时候会默认加载/etc/my.cnf
my.cnf内容如下:
[mysqld]
ndbcluster
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
port=3306
ndb-connectstring=192.168.52.130
[mysql_cluster]
ndb-connectstring=192.168.52.130
然后在非管理节点上ndb_mgm -e show 也能看见刚才的集群状态
2启动数据节点
/usr/local/mysql/bin/ndbd --initial
安装后第一次启动数据节点时要加上--initial参数,其它时候不要加,除非是在备份、恢复或配置变化后重启时
starting
started
3启动服务节点
/usr/local/mysql/bin/mysqld_safe--user=mysql &
ndb_mgm -e show 集群状态