环境:Windows 7(64)平台,两台机器(A,B),
Server A(管理节点,数据节点,SQL节点)
Server B(数据节点,SQL节点)
1、下载MySQL cluster安装包
http://downloads.mysql.com/archives/cluster/
下载msi installer
2、安装
1)分别在A,B两台机器上同名目录下安装。默认是安装在 C:\Program Files\MySQL。
2)分别在两台机器上运行一下命令安装MySQL服务:
\bin\mysqld.exe --install mysql (这里mysql 是服务名称(即在Windows services里显示的service名字),可以随便取)
3、创建配置文件
1)创建管理节点配置文件(可以放在任意目录下)
比如这里创建目录 c:\mysql,然后创建子目录data、ndbdata和文件 config.ini,内容如下:
[NDBD DEFAULT]
NoOfReplicas=2
[NDB_MGMD]
NodeID=1
hostname=172.xxx.xxx.xxx
datadir=c:\mysql\data
#config storage nodeid
[NDBD]
NodeID=2
hostname=172.xxx.xxx.xxx
datadir=c:\mysql\ndbdata
[NDBD]
NodeID=3
hostname=192.xxx.xxx.xxx
datadir=C:\mysql\ndbdata
#config SQL NODEID
[MYSQLD]
NodeID=4
hostname=172.xxx.xxx.xxx
[MYSQLD]
NodeID=5
hostname=192.xxx.xxx.xxx
2) 配置存储节点和SQL节点配置文件
首先对于Server B,在mysql安装目录下,比如C:\Program Files\MySQL\MySQL Cluster 7.4\ 找到my-default.ini文件,把此文件重命名为my.ini,因为Server B 只安
装数据节点和SQL节点,所以内容如下 :
【mysql_cluster]
ndb-connectstring=172.xxx.xxx.xxx
[mysqld]
ndbcluster
ndb-connectstring=172.xxx.xxx.xxx
#for table is full error
tmp_table_size = 1600M
max_heap_table_size = 1600M
把my.ini配置文件copy到 server A的同名目录下,
4、启动mysql cluster(以下操作均在CMD下执行)
首先,在管理节点服务器上(也就是本文中的 Server A 172.xxx.xxx.xxx)生效管理节点config.ini文件信息
ndb_mgmd.exe --config-file=c:\cluster\config-ini --configdir=c:\cluster
新开CMD窗口,生效存储节点信息
ndbd.exe --initial /*首次执行时加入--initial参数*/
新开CMD窗口,生效SQL节点信息
mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.4\my.ini"
执行完以后启动mysql
net start mysql
其次,在server B上执行 ndbd.exe
新开CMD窗口执行 mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.4\my.ini"
执行完以后启动mysql
net start mysql
5、查看安装情况
在安装管理节点的服务器(本文是Server A) 执行 \bin\ndb_mgm.exe,然后使用show命令查看状态,类似于如下的状态说明安装启动成功:
Connected to Management Server at: 172.xxx.xxx.xxx:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @172.xxx.xxx.xxx (mysql-5.6.25 ndb-7.4.7, Nodegroup: 0, *)
id=3 @192.xxx.xxx.xxx (mysql-5.6.25 ndb-7.4.7, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @172.xxx.xxx.xxx (mysql-5.6.25 ndb-7.4.7)
[mysqld(API)] 2 node(s)
id=4 @172.xxx.xxx.xxx (mysql-5.6.25 ndb-7.4.7)
id=5 @192.xxx.xxx.xxx (mysql-5.6.25 ndb-7.4.7)
6、验证
在任意一台服务器上登录数据库,
mysql -u root -p
注意创建表的时候要加上 engine=ndbcluster ,否则无法同步。也可以加上 default charset utf8 (非必须)
然后在另一台机器上查看数据是否成功同步。
7、关闭集群
bin/mysqladmin -u root -p shutdown
bin/ndb_mgm -e shutdown