1软件的下载
下载MySQL Cluster,地址:
要Windows32位免安装版的,如图:
<!--[endif]-->
2机子的配置及作用
准备3台电脑,机子的功能和配置见下表
Node | IP Address |
Management (MGMD) node | 192.168.1.102 |
MySQL server (SQL) node “A” | 192.168.1.103 |
MySQL server (SQL) node “B” | 192.168.1.108 |
Data (NDBD) node "A" | 192.168.1.103 |
Data (NDBD) node "B" | 192.168.1.108 |
我们可以看到192.168.1.103机器可以分别作为SQL node和Data node同时使用。192.168.1.108的配置也是如此。如果安装的IP有变,则在下列安装过程中出现的ini文件里写的IP地址也要相应的改正。
3.软件的安装
3.1解压下载的安装包,为了方便,把文件夹的名字改为mysql。
3.2 Management node的安装配置。
Management node一定要安装在C盘下,并且是以下的目录(这是在运行此节点时报错,说找不到相对应的目录)。在IP为192.168.1.102的机子上生成c:/mysql/bin、C:/mysql/mysql-cluster(第一次启动后在这个文件夹会生成类似ndb_1_config.bin.1的文件,好像是为了以后启动加载的配置)和c:/mysql/bin/cluster-logs目录,在下载解压的文件目录mysql/bin中将ndb_mgmd.exe和ndb_mgm.exe复制到192.168.1.102的c:/mysql/bin目录下。在192.168.1.102的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=D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data # 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=192.168.1.102 # Hostname or IP address of management node
DataDir=C:/mysql/bin/cluster-logs # Directory for management node log files
[ndbd]
# Options for data node "A":
# (one [ndbd] section per data node)
HostName=192.168.1.103 # Hostname or IP address
[ndbd]
# Options for data node "B":
HostName=192.168.1.108 # Hostname or IP address
[mysqld]
# SQL node options:
HostName=192.168.1.103 # Hostname or IP address
[mysqld]
# SQL node options:
HostName=192.168.1.108 # Hostname or IP address
3.3 Data nodes的安装配置
在IP为192.168.1.103的机子上生成D:/Program Files/mysqlcluster/datanode/mysql/bin、D:/Program Files/mysqlcluster/datanode/mysql/cluster-data、D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data.在下载的的解压文件夹mysql/bin中将ndbd.exe复制到192.168.1.103机子的D:/Program Files/mysqlcluster/datanode/mysql/bin目录下,并在D:/Program Files/mysqlcluster/datanode/mysql/bin目录下生成my.ini文件,文件的内容为:
[mysql_cluster]
# Options for data node process:
ndb-connectstring=192.168.1.102 # location of management server
弄好后直接将192.168.1.103机子下的D:/Program Files/mysqlcluster/datanode整个文件夹复制到192.168.1.108机子的同样路径下(或者按照上面的方法一步一步为192.168.1.108机子生成相应的目录和文件,但是由于Data nodes的安装配置都是一样的,所以直接复制即可)
3.4 SQL node的安装配置
在IP为192.168.1.103的机子上生成D:/Program Files/mysqlcluster/sqlnode目录,将下载的解压文件夹mysql直接整个复制到D:/Program Files/mysqlcluster/sqlnode目录下,在D:/Program Files/mysqlcluster/sqlnode/mysql下生成my.ini文件,文件内容为:
[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
ndb-connectstring=192.168.1.103 # location of management server
同理,将D:/Program Files/mysqlcluster/sqlnode整个文件夹复制到192.168.1.108机子的相同目录下
4启动MySQL Cluster
启动各个节点是有顺序的,先是Management node,然后是Data nodes,最后是SQL nodes。
4.1启动Management node
在192.168.1.102机子下进入命令行,转到c:/mysql/bin目录下,输入:
ndb_mgmd -f config.ini
点击回车键。我第一次启动的时候是按照官网的弄得,结果官网上少生成了c:/mysql/mysql-cluster和c:/mysql/bin/cluster-logs目录,导致启动不成功,生成这两个目录之后就可以启动了。这两个目录是config.ini文件里配置的Datadir,所以要自己相应的生成,这一点官网没有提示。
4.2启动Data node
在192.168.1.103机子下进入命令行,转到D:/Program Files/mysqlcluster/datanode/mysql/bin目录下,输入:
ndbd
点击回车键。我第一次启动的时候是按照官网的弄得,结果官网上少生成了D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data目录,导致启动不成功,生成这个目录之后就可以启动了。这两个目录是config.ini文件里配置的Datadir,所以要自己相应的生成,这一点官网没有提示。
同理,按相同方式在192.168.1.108下启动Data node.
注:此时可通过在Management node中新开一命令行,转到c:/mysql/bin目录下输入命令:
ndb_mgm
启动ndb_mgm.exe,之后输入命令:
ALL STATUS
查看到Data node连接是否成功.之后启动正常之后才能继续启动SQL node
4.3启动SQL node
在192.168.1.103机子下进入命令行,转到D:/Program Files/mysqlcluster/sqlnode/mysql/bin目录下,输入:
mysqld --console
按相同方式启动192.168.1.108下的SQL node。
注:可通过在Management node节点的机器下,转到c:/mysql/bin目录下输入命令:
ndb_mgm
启动ndb_mgm.exe,之后输入命令:
SHOW
即可查看到各个节点的连接情况。
接下来我们可以在某个SQL node 机器上利用MYSQL GUI TOOLS的MYSQL administradtor工具新建一个数据库,然后在其他SQLnode查看,我们可以看到,所有的SQL node都可以看到新生成的数据库,至此MYSQL集群搭建成功.
5MySQL Cluster集群架构
<!--[endif]-->
附录:将MySQL Cluster的各个程序安装成Windows Services
每次都要转到相应bin目录下才能启动各个程序,有点不方便,这样我们可以将这些程序安装到Windows Services中,安装方式如下:
<!--[if !supportLists]-->1 <!--[endif]-->Management node
1.1进入命令行,输入命令
C:/mysql/bin/ndb_mgmd.exe --install
<!--[if !supportLists]-->1.2 <!--[endif]-->启动
NET START ndb_mgmd
<!--[if !supportLists]-->1.3 <!--[endif]-->关闭
NET STOP ndb_mgmd
其他程序的安装类似,略