Windows XP下 MySql Cluster集群的安装和配置

一、下载软件

从MySQL官网下载MySQL Cluster

点击链接http://dev.mysql.com/downloads/cluster/如下图:

Windows XP下 MySql Cluster集群的安装和配置_第1张图片

我这里使用的版本是MySQL Cluster 7.3.9,所以选择上图右侧红色超链接Looking for the lastest GA version?找到我要的版本MySQL Cluster 7.3.9,选择Windows(x86, 32-bit), ZIP Archive下载。

Windows XP下 MySql Cluster集群的安装和配置_第2张图片

只需下载这一关文件就可以了,所有需要的软件都在这个包里面了。

注意:不同的版本配置方法可能有一点点不同。

二、设备的准备和功能分布

Node IP Address
Management (MGMD) node1 172.16.0.221
Data (NDBD) node2 172.16.0.225
Data (NDBD) node3 172.16.1.174
MySQL server (SQL) node4 172.16.0.225
MySQL server (SQL) node5 172.16.1.174

这里需要准备3台电脑,IP根据自己的情况配置。我这里的172.16.0.225可以同时作为SQL Node和Data Node使用。172.16.1.174也是同时作为SQL Node和Data Node使用。

注意:3台电脑的网络必须是互通的,我这里使用的是局域网的3台电脑。

三、5个Node的安装和配置

  1. Management Node的安装和配置

    Management node的安装按照以下目录进行(后面会说如何修改这些目录):

在172.16.0.221的Node1电脑上生成如下3个目录结构:C:\mysql\bin、C:\mysql\mysql-cluster、C:\mysql\cluster-logs。

从下载的文件mysql-cluster-gpl-7.3.9-win32.zip中的bin目录中只解压出两个文件ndb_mgm.exe和ndb_mgmd.exe到目录C:\mysql\bin中。

Windows XP下 MySql Cluster集群的安装和配置_第3张图片

Node1安装完成,下面开始配置:

C:\mysql\bin目录下新建两个文件my.ini和config.ini

my.ini如下:

[mysql_cluster]

# Options for management node process

config-file=C:/mysql/bin/config.ini

config.ini如下:

[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2                      # Number of replicas
#DataDir=...   # Directory for each data node's data files
                                    # Forward slashes used in directory path, 
                                    # rather than backslashes. This is correct;
                                    # see Important note in text
DataMemory=80M		# Memory allocated to data storage
IndexMemory=18M		# Memory allocated to index storage
                  # For DataMemory and IndexMemory, we have used the
                  # default values. Since the "world" database takes up
                  # only about 500KB, this should be more than enough for
                  # this example Cluster setup.
[ndb_mgmd]
# Management process options:
HostName=172.16.0.221               # Hostname or IP address of management node
DataDir=C:/mysql/cluster-logs   # Directory for management node log files
[ndbd]
# Options for data node 2:
                                # (one [ndbd] section per data node)
HostName=172.16.0.225           # Hostname or IP address
DataDir=D:/Program Files/mysqlcluster/datanode/mysql/cluster-data	# Directory for each data node's data files
[ndbd]
# Options for data node 3:
HostName=172.16.1.174           # Hostname or IP address
DataDir=E:/Program Files/mysqlcluster/datanode/mysql/cluster-data	# Directory for each data node's data files
[mysqld]
# SQL node 4 options:
HostName=172.16.0.225           # Hostname or IP address
[mysqld]
# SQL node 5 options:
HostName=172.16.1.174           # Hostname or IP address

Node1配置完成。以上配置中的IP Address根据自己的实际设备IP配置。

2.两个Data Node的安装和配置

在172.16.0.225的Node2电脑上生成如下两个目录结构:D:\Program Files\mysqlcluster\datanode\mysql\bin、D:\Program Files\mysqlcluster\datanode\mysql\cluster-data。

cluster-data目录路径需要与Node1电脑的config.ini文件中node2处DataDir值相匹配。

从下载的文件mysql-cluster-gpl-7.3.9-win32.zip中的bin目录中只解压出一个文件ndbd.exe放到目录D:\Program Files\mysqlcluster\datanode\mysql\bin中。

Node2安装完成,下面开始配置:

D:\Program Files\mysqlcluster\datanode\mysql目录下新建一个文件my.ini,如下:

[mysql_cluster]
# Options for data node process:
ndb-connectstring=172.16.0.221  # location of management server

Node2配置完成。ndb-connectstring处的IP为Node1电脑的IP

Node3的安装和配置同Node2一样配置在相同的位置就可以了。我这里172.16.1.174电脑上没有D盘,所以就配置到了E盘相应的目录下。

3.两个SQL Node的安装和配置

在IP为172.16.0.225的电脑上生成目录结构:D:\Program Files\mysqlcluster\sqlcluster\sqlnode\mysql。

将下载的文件mysql-cluster-gpl-7.3.9-win32.zip里面的所有内容解压到D:\Program Files\mysqlcluster\sqlcluster\sqlnode\mysql目录,

Windows XP下 MySql Cluster集群的安装和配置_第4张图片

SQL Node4安装完成。下面配置SQL Node4,在D:\Program Files\mysqlcluster\sqlcluster\sqlnode\mysql目录新建文件my.ini,内如如下:

[mysqld]
# Options for mysqld process:
ndbcluster                      # run NDB storage engine
ndb-connectstring=172.16.0.221  # location of management server

SQL Node4配置完成。ndb-connectstring处的IP为Node1电脑的IP

SQL Node5的安装和配置同SQL Node4一样配置在相同的位置就可以了。我这里还是在E盘。

到此MySQL Cluster的安装配置全部完成。下面开始运行并测试。

四、运行

启动各个Node节点是有顺序的,先是Management Node,然后是Data Nodes,最后是SQL Nodes。

  1. 启动Management Node

在172.16.0.221电脑上,转到C:/mysql/bin目录下,输入:

ndb_mgmd -f config.ini --configdir=C:/mysql/mysql-cluster

启动成功,会在C:\mysql\mysql-cluster目录下生成文件ndb_1_config.bin.1

错误:configdir参数如果没有指定或者目录不存在会出现如下错误:

C:\mysql\bin>ndb_mgmd -f config.ini
MySQL Cluster Management Server mysql-5.6.24 ndb-7.3.9
2015-07-10 15:17:34 [MgmtSrvr] INFO     -- The default config directory 'C:/Program Files/MySQL/MySQL Server 5.6/mysql-cluster' does not exist. Trying to create it...
Failed to create directory 'C:/Program Files/MySQL/MySQL Server 5.6/mysql-cluster', error: 3
2015-07-10 15:17:34 [MgmtSrvr] ERROR    -- Could not create directory 'C:/Program Files/MySQL/MySQL Server 5.6/mysql-cluster'. Either create it manually or specify a different directory with --configdir=<path>

因为MySQL Cluster默认的目录为C:/Program Files/MySQL/MySQL Server 5.6/mysql-cluster,可以通过帮助命令查看:

ndb_mgmd --help

Windows XP下 MySql Cluster集群的安装和配置_第5张图片

如果config.ini文件修改了,启动时要加上--reload参数,输入:

ndb_mgmd -f config.ini --relaod --configdir=C:/mysql/mysql-cluster

2.启动Data Node

在172.16.0.225电脑上,转到D:\Program Files\mysqlcluster\datanode\mysql\bin目录,输入:

ndbd

同理,在172.16.1.174电脑上,转到E::\Program Files\mysqlcluster\datanode\mysql\bin目录,输入:

ndbd

启动成功,如下:

第一次启动Data Node时,需要加上--initial参数,输入:

ndbd --initial

注意:--initial只在第一次启动的时候使用,否则会把数据清空。

注:此时可以通过在Management Node中新开一个DOS,转到C:/mysql/bin目录,输入:

ndb_mgm

启动ndb_mgm.exe之后,输入:

ALL STATUS

查看Data Node连接是否成功,启动成功之后才能继续启动SQL Node。

Windows XP下 MySql Cluster集群的安装和配置_第6张图片

3.启动SQL Node

在IP为172.16.0.225电脑上,转到D:\Program Files\mysqlcluster\sqlnode\mysql\bin目录下,输入:

mysqld --console

按同样的方式,在IP为172.16.1.174电脑上,转到E:\Program Files\mysqlcluster\sqlnode\mysql\bin目录下,输入:

mysqld --console

Windows XP下 MySql Cluster集群的安装和配置_第7张图片

启动成功。至此MySQL Cluster启动成功。

可以在ndb_mgm.exe之后,输入:

SHOW

查看说了有节点的状态,如图:

Windows XP下 MySql Cluster集群的安装和配置_第8张图片

接下来我们可以在某个SQL Node电脑上,新建数据库,然后在其他SQL Node上查看。我们可以看到说了有的SQL Node都可以看到新生成的数据库,至此MySQL集群搭建完成。

附图:MySQL Cluster集群架构

Windows XP下 MySql Cluster集群的安装和配置_第9张图片

4.停止MySQL Cluster集群

停止MySQL Cluster集群顺序是 先SQL节点,后管理节点

停止SQL节点:在mysqld --console窗口,直接按CTRL + C退出

停止管理节点:在172.16.0.221电脑上,打开DOS,转到C:\mysql\bin目录,输入:

ndb_mgm -eshutdown

五、测试

注:创建表时一定要加上engine=ndbcluster default charset utf8;

ndbcluster表示该表为数据节点可操作

default charset表示字符集

在172.16.1.174电脑上创建表,在172.16.0.225上查询表信息,看数据是否同步。

Windows XP下 MySql Cluster集群的安装和配置_第10张图片

另外的测试(单点故障测试):

1,还可以人为停止某一个数据节点(Ctrl+C中断DOS命令ndbd.exe,停止该服务),看看所有的 SQL 节点是不是能正常工作。

2,在某一个数据节点停止后,进行数据库操作。然后重新开启该数据节点,看看群集中的所有的 SQL 节点能不能得到完整的数据。

六、注册为Service

每次都要转到相应bin目录下才能启动各个程序,有点不方便,这样我们可以将这些程序安装到Windows Services中,安装方式如下:

Management Node

进入命令行,输入命令

C:/mysql/bin/ndb_mgmd.exe --install

启动: 

NET START ndb_mgmd

关闭: 

NET STOP ndb_mgmd

其它service服务的安装同上。

你可能感兴趣的:(mysql,数据库,cluster,XP)