VMware:(版本10.0.01)
操作系统:Windows Server 2008 R2 Enterprise
VM1:192.168.220.103 管理节点(MGM),数据节点(NDBD1),SQL节点(SQL1)
VM2:192.168.220.104 数据节点(NDBD2),SQL节点(SQL2)
MySQL Cluster版本:7.3.7 (MSI Installer) 下载地址:http://dev.mysql.com/downloads/cluster/
测试工具:Navicate for MySQL
简介:
MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。
MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序
特点: http://www.mysql.com/products/cluster/features.html
三种节点:
管理节点:用于管理集群共它节点; 守护进程ndb_mgmd
数据节点:用于保存集群的数据; 守护进程ndbd
SQL节点:用于连接数据节点;守护进程mysqld
详情请参考:参考手册中MySQL Cluster章节
选择typical安装,安装目录均为:C:\Program Files\MySQL\MySQL Cluster 7.3
新建文件夹的路径分别为:C:\Program Files\MySQL\MySQL Server 5.6
C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster
[ndbd default] NoOfReplicas=2 MaxNoOfTables=1024 MaxNoOfUniqueHashIndexes=1024 MaxNoOfOrderedIndexes=1024 MaxNoOfAttributes=10000 [ndb_mgmd] NodeId=1 HostName=192.168.220.103 DataDir=C:\Program Files\MySQL\MySQL Cluster 7.3\data [ndbd] NodeId=21 HostName=192.168.220.103 DataDir=C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster [ndbd] NodeId=22 HostName=192.168.220.104 DataDir=C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster [mysqld] NodeId=11 HostName=192.168.220.103 [mysqld] NodeId=12 HostName=192.168.220.104
[mysqld] character_set_server=utf8 basedir="C:\Program Files\MySQL\MySQL Cluster 7.3" datadir="C:\Program Files\MySQL\MySQL Cluster 7.3\data" sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ndbcluster ndb-connectstring=192.168.220.103 explicit_defaults_for_timestamp=true [mysql_cluster] ndb-connectstring=192.168.220.103
计算机右键属性 (或者 控制面板\系统和安全\系统)--->高级系统配置--->"高级"选择卡--->环境变量--->系统变量中找到Path--->编辑--->加上C:\Program Files\MySQL\MySQL Cluster 7.3\bin
注意:多个路径用分号分隔
[NDBD]:定义了集群的数据节点
[MYSQLD]:定义了集群的MySQL服务器节点
[MGM]或[NDB_MGMD]:定义了集群的管理服务器节点
[NDB_MGMD]Id:节点唯一的标识
[NDBD]NoOfReplicas:全局参数仅能在[NDBD DEFAULT]中设置,它定义了集群中每个表保存的副本数。该参数还指定了节点组的大小。节点组指的是保存相同信息的节点集合
[NDBD]DataDir:该参数指定了存放跟踪文件、日志文件、 pid文件以及错误日志的目录
[MYSQLD]basedir:使用指定目录作为根目录
[MYSQLD]datadir:使用指定目录读取数据库文件
cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin" ndb_mgmd.exe --config-file="C:\Program Files\MySQL\MySQL Cluster 7.3\config.ini" --configdir="C:\Program Files\MySQL\MySQL Cluster 7.3"
注意:warning信息不影响,两台机器配置管理节点和数据节点在一台机器上的原因,并不会引起集群失败
cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin" ndbd.exe --initial
注意:--initial只有初次执行需要,以后执行ndbd.exe就可以(参考手册里的意思应该是当需要清理集群文件时才使用,所以这个参数应该要慎用或者提前备份)
cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin" mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.3\my.ini" mysqld --install net start mysql
注意:执行mysqld --install 你可以在计算机的服务器看到名为“MySQL”的服务,在执行net start mysql,在服务中可以看到MySQL服务为“启动”状态
cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin" ndbd.exe
cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin" mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.3\my.ini" mysqld --install net start mysql
ndb_mgm.exe
show
如上图状态,表示安装成功!
发现192.168.220.104中也出现wilson_mysqlcluster_test
1.在VM2中CMD窗口执行如下命令停止MySQL服务
net stop msyql
2.在192.168.220.103中插ID为3的数据后,执行如下命令,再次启动VM2中的MySQL服务,查看192.168.220.104中数据是否完整
net start mysql
测试结果如图:得到完整数据
其它测试就不一一列举了
配置前仔细看了MySQL参考文件MySQL Cluster章节
MySQL Cluster配置过程还是比较容易出错,配置过程中大小错误遇到非常多(目录、SQL节点not connected、MYSQL服务无法启动、数据无法同步等等),根据CMD上错误和日志文件查找对应的解决方法
注意启动顺序会少遇到很多错误:管理节点--->数据节点--->SQL节点
生产环境建议用至少3台服务器去配置,需要修改一下config.ini文件,配置过程与两台没什么差别
主要参考:
MySQL_5.5中文参考手册
Windows 环境下配置 MySQL Cluster