Mysql Cluster 集群 (windows版本)
VM1:192.168.128.102 管理节点(MGM)
VM2:192.168.128.103 数据节点(NDBD1),SQL节点(SQL1)
VM3:192.168.128.104 数据节点(NDBD2),SQL节点(SQL2)
本实例MySQL Cluster版本:7.4.8 (集成了mysql 5.6) 下载地址:http://dev.mysql.com/downloads/cluster/
测试工具:Navicat for MySQL
三种节点:
管理节点:用于管理集群共它节点; 守护进程ndb_mgmd
数据节点:用于保存集群的数据; 守护进程ndbd
SQL节点:用于连接数据节点;守护进程mysqld
管理节点是负责管理数据节点和SQL节点的相当于集群的大脑,数据节点是专门负责集群存储数据的,SQL节点说白了就是给你工具连接用的。
第一步先配置管理节点
安装MySQL Cluster后
在目录C:\Program Files\MySQL\MySQL Cluster 7.4 下面添加一个配置文件config.ini 配置如下:
[ndbd default] NoOfReplicas=2 MaxNoOfTables=1024 MaxNoOfUniqueHashIndexes=1024 MaxNoOfOrderedIndexes=1024 MaxNoOfAttributes=10000 [ndb_mgmd] NodeId=1 HostName=192.168.128.102 DataDir=C:\Program Files\MySQL\MySQL Cluster 7.4\data [ndbd] NodeId=21 HostName=192.168.128.103 DataDir=C:\Program Files\MySQL\MySQL Cluster 7.4\data [ndbd] NodeId=22 HostName=192.168.128.104 DataDir=C:\Program Files\MySQL\MySQL Cluster 7.4\data [mysqld] NodeId=11 HostName=192.168.128.103 [mysqld] NodeId=12 HostName=192.168.128.104
意思就是配置了1个管理节点 2个数据节点 2个SQL节点。
[NDBD]:定义了集群的数据节点
[MYSQLD]:定义了集群的MySQL服务器节点
[MGM]或[NDB_MGMD]:定义了集群的管理服务器节点
[NDB_MGMD]
Id:节点唯一的标识
[NDBD]
NoOfReplicas:全局参数仅能在[NDBD DEFAULT]中设置,它定义了集群中每个表保存的副本数。该参数还指定了节点组的大小。节点组指的是保存相同信息的节点集合
DataDir:该参数指定了存放跟踪文件、日志文件、 pid文件以及错误日志的目录
[MYSQLD]
basedir:使用指定目录作为根目录
datadir:使用指定目录读取数据库文件
第二步下面来配置数据节点和SQL节点
在一般情况 数据节点和SQL节点是成对出现的。意思就是一台Mysql服务器是由两个节点构成。下面来看看怎么配置一台集群下的Mysql 服务器:
首先将下载的 MySQL Cluster 7.4 安装好,然后在目录C:\Program Files\MySQL\MySQL Cluster 7.4 然后添加一个名为my.ini 的配置文件。配置内容如下
[mysqld] character_set_server=utf8 basedir="C:\Program Files\MySQL\MySQL Cluster 7.4" datadir="C:\Program Files\MySQL\MySQL Cluster 7.4\data" sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ndbcluster ndb-connectstring=192.168.128.102 explicit_defaults_for_timestamp=true [mysql_cluster] ndb-connectstring=192.168.128.102
这里简单说一下,其实就是配置SQL节点和数据节点的管理服务器是哪台服务器。这个地方一定要配置好这两个配置节 [mysqld]和[mysql_cluster]。
以上就是所有的配置了,就这么简单就搞定了接下来我们来一个个的启动。
启动的顺序是 1:管理节点 2:数据节点 3:SQL节点
1: 192.168.128.102 打开命令行窗口,执行以下命令
cd C:\Program Files\MySQL\MySQL Cluster 7.4\bin ndb_mgmd.exe --config-file="C:\Program Files\MySQL\MySQL Cluster 7.4\config.ini" --configdir="C:\Program Files\MySQL\MySQL Cluster 7.4"
上述命令执行成功后CMD会自动输出一段 MySQL Cluster Management Server mysql-5.6.24 ndb-7.4.6
注意:窗口不要关,这是管理节点的服务
2:192.168.128.103或者192.168.128.104 打开命令行窗口,然后输入下面的命令
cd C:\Program Files\MySQL\MySQL Cluster 7.3\bin ndbd.exe --initial
注意:首测执行时使用initial参数,否则将会清空数据库数据
执行成功以后CMD返回信息差不多是下面这样的
2015-05-28 23:28:06 [ndbd] INFO -- Angel connected to '192.168.2.73:1186'
2015-05-28 23:28:06 [ndbd] INFO -- Angel allocated nodeid: 22
注意:窗口不要关,这是数据节点的服务
3:192.168.128.103或者192.168.128.104 打开命令行窗口,然后输入下面的命令
cd C:\Program Files\MySQL\MySQL Cluster 7.4\bin mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.4\my.ini" mysqld --install net start mysql
启动成功后(安装好后建议将mysql服务设置为手动),回到102管理节点,通过如下命令查看集群状态
cd C:\Program Files\MySQL\MySQL Cluster 7.4\bin ndb_mgm.exe show
返回结果应该是下面这个样子的:
Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=21 @192.168.128.103 (mysql-5.6.24 ndb-7.4.8, Nodegroup: 0, *) id=22 @192.168.128.104 (mysql-5.6.24 ndb-7.4.8, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @192.168.128.102 (mysql-5.6.24 ndb-7.4.8) [mysqld(API)] 2 node(s) id=11 @192.168.128.103 (mysql-5.6.24 ndb-7.4.8) id=12 @192.168.128.104 (mysql-5.6.24 ndb-7.4.8)
剩下的就是测试了,随便下载一个navicat 连接192.168.128.104 和 192.168.128.103跟测试本地数据库一样
注意:这里的表引擎要使用NDBCluster