参考了一篇文章与官方文档,成功在windows平台单机布置了mysql-cluster 7.2.12. 大致过程如下:
1. 下载mysql-cluster免安装包
http://dev.mysql.com/downloads/cluster/
下载非安装版本.
2. 解压下载的安装包
例如最后放置的位置是E:\Tools\mysql-cluster\
3. 节点配置为1 mgmt node + 2 data nodes + 3 sql nodes
创建三个MySQL实例的数据目录
E:\Tools\mysql-cluster\data\data1
E:\Tools\mysql-cluster\data\data2
E:\Tools\mysql-cluster\data\data3
E:\Tools\mysql-cluster\data\data1\mysql
E:\Tools\mysql-cluster\data\data1\test
E:\Tools\mysql-cluster\data\data2\mysql
E:\Tools\mysql-cluster\data\data2\test
E:\Tools\mysql-cluster\data\data3\mysql
E:\Tools\mysql-cluster\data\data3\test
创建配置文件文件夹
E:\Tools\mysql-cluster\conf
conf\config.ini
[ndbd default]
NoOfReplicas=2
[ndbd]
hostname=localhost
nodeid=2
[ndbd]
hostname=localhost
nodeid=3
[ndb_mgmd]
nodeid=1
hostname=localhost
[mysqld]
#nodeid=4
#hostname=localhost
[mysqld]
#nodeid=5
#hostname=localhost
[mysqld]
#nodeid=6
#hostname=localhost
MySQL实例配置文件
conf\my1.ini
[mysqld]
#ndb_nodeid=4
ndbcluster
datadir=E:\Tools\mysql-cluster\data\data1
basedir=E:\Tools\mysql-cluster
port=9306
server-id=1
log-bin=mycu
log-bin-index=mycu
conf\my2.ini
[mysqld]
#ndb_nodeid=5
ndbcluster
datadir=E:\Tools\mysql-cluster\data\data2
basedir=E:\Tools\mysql-cluster
port=9307
server-id=2
log-bin=mycu2
log-bin-index=mycu2
conf\my3.ini
[mysqld]
#ndb-nodeid=6
ndbcluster
datadir=E:\Tools\mysql-cluster\data\data3
basedir=E:\Tools\mysql-cluster
port=9308
server-id=3
log-bin=mycu3
log-bin-index=mycu3
初始化三个MySQL实例
perl scripts\mysql_install_db --basedir=E:\Tools\mysql-cluster --datadir=E:\Tools\mysql-cluster\data\data1 --force
perl scripts\mysql_install_db --basedir=E:\Tools\mysql-cluster --datadir=E:\Tools\mysql-cluster\data\data2 --force
perl scripts\mysql_install_db --basedir=E:\Tools\mysql-cluster --datadir=E:\Tools\mysql-cluster\data\data3 --force
要运行上面的脚本需要安装perl,本机是安装了cygwin+perl+python
也可以安装其它直接运行在windows下的perl包,记得加入命令行路径到path.
初始化管理节点
bin\ndb_mgmd --initial -f conf\config.ini --configdir=E:\Tools\mysql-cluster
初始化两个数据节点
bin\ndbd --initial -c localhost:1186
bin\ndbd --initial -c localhost:1186
注意,初始化或运行了数据节点的启动脚本后,不要中止数据节点的进程或关闭运行命令的窗口,若关闭,将会使数据节点失效.
启动SQL节点
bin\mysqld --defaults-file=conf\my1.ini
bin\mysqld --defaults-file=conf\my2.ini
bin\mysqld --defaults-file=conf\my3.ini
启动SQL节点后,可以关闭运行启动SQL节点的命令行窗口,SQL节点的进程不会因为命令行窗口关闭而终止.
查看Cluster的状态
bin\ndb_mgm
show
结果如下:
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @127.0.0.1 (mysql-5.5.30 ndb-7.2.12, Nodegroup: 0, Master)
id=3 @127.0.0.1 (mysql-5.5.30 ndb-7.2.12, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @127.0.0.1 (mysql-5.5.30 ndb-7.2.12)
[mysqld(API)] 3 node(s)
id=4 @127.0.0.1 (mysql-5.5.30 ndb-7.2.12)
id=5 @127.0.0.1 (mysql-5.5.30 ndb-7.2.12)
id=6 @127.0.0.1 (mysql-5.5.30 ndb-7.2.12)
此时就基本上搭建成功了.
对于SQL节点的MySQL,上面的例子中用的是MySQL-cluster中的执行程序. 有的文档提到了可以直接用mysql-server, 但经过查证,windows的二进制版本都是不能直接支持ndbcluster引擎的,但源码却是包含的,因此若想用mysql-server在windows下启动SQL节点,则需要自行编译windows下的源码. 后面有机会再尝试用VS编译下,看是否能支持.
参考链接:
阅读(2896) | 评论(0) | 转发(2) |