目录

配置环境

  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章节

配置过程

  • 在VM1和VM2上安装MySQL Cluster(mysql-cluster-gpl-7.3.7-winx64)

    选择typical安装,安装目录均为:C:\Program Files\MySQL\MySQL Cluster 7.3

  • 在VM1和VM2上的Windows 资源管理器中打开C:\Program Files\MySQL,在此目录下新建文件夹MySQL Server 5.6,然后在新建的MySQL Server 5.6文件夹下新建mysql-cluster文件夹

  新建文件夹的路径分别为:C:\Program Files\MySQL\MySQL Server 5.6

              C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster

  • 在VM1的Windows 资源管理器打开目录C:\Program Files\MySQL\MySQL Cluster 7.3,并在此目录下新建一个config.ini文件
  1. [ndbd default]
  2. NoOfReplicas=2
  3. MaxNoOfTables=1024
  4. MaxNoOfUniqueHashIndexes=1024
  5. MaxNoOfOrderedIndexes=1024
  6. MaxNoOfAttributes=10000
  7.  
  8. [ndb_mgmd]
  9. NodeId=1
  10. HostName=192.168.220.103
  11. DataDir=C:\Program Files\MySQL\MySQL Cluster 7.3\data
  12.  
  13. [ndbd]
  14. NodeId=21
  15. HostName=192.168.220.103
  16. DataDir=C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster
  17.  
  18. [ndbd]
  19. NodeId=22
  20. HostName=192.168.220.104
  21. DataDir=C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster
  22.  
  23. [mysqld]
  24. NodeId=11
  25. HostName=192.168.220.103
  26.  
  27. [mysqld]
  28. NodeId=12
  29. HostName=192.168.220.104
  • 在VM1和VM2的资源管理器中打开目录C:\Program Files\MySQL\MySQL Cluster 7.3,并在此目录下新建一个my.ini文件
  1. [mysqld]
  2. character_set_server=utf8
  3.  
  4. basedir="C:\Program Files\MySQL\MySQL Cluster 7.3"
  5.  
  6. datadir="C:\Program Files\MySQL\MySQL Cluster 7.3\data"
  7.  
  8. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  9.  
  10. ndbcluster
  11. ndb-connectstring=192.168.220.103
  12.  
  13. explicit_defaults_for_timestamp=true
  14.  
  15. [mysql_cluster]
  16. ndb-connectstring=192.168.220.103
  • 在VM1和VM2中设置环境变量(非必需,文中并未用到,都会CD转到到相应目录去执行命令)

  计算机右键属性 (或者 控制面板\系统和安全\系统)--->高级系统配置--->"高级"选择卡--->环境变量--->系统变量中找到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:使用指定目录读取数据库文件

  • 在管理节点(MGM)机器上(VM1)中打开CMD窗口执行如下命令,启动管理节点
  1. cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
  2. 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信息不影响,两台机器配置管理节点和数据节点在一台机器上的原因,并不会引起集群失败

  • 在数据节点(NDBD1)机器上(VM1)中新打开CMD窗口执行如下命令,启动数据节点
  1. cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
  2. ndbd.exe --initial

   注意:--initial只有初次执行需要,以后执行ndbd.exe就可以(参考手册里的意思应该是当需要清理集群文件时才使用,所以这个参数应该要慎用或者提前备份)

  • 在SQL节点(SQL1)机器上(VM1)中新开CMD窗口执行如下命令,启动SQL节点
  1. cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
  2. mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.3\my.ini"
  3. mysqld --install
  4. net start mysql

  注意:执行mysqld --install 你可以在计算机的服务器看到名为“MySQL”的服务,在执行net start mysql,在服务中可以看到MySQL服务为“启动”状态

  • 在数据节点(NDBD2)机器上(VM2)中新打开CMD窗口执行如下命令,启动数据节点
  1. cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
  2. ndbd.exe

  • 在SQL节点(SQL2)机器上(VM2)中新开CMD窗口执行如下命令,启动SQL节点
  1. cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
  2. mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.3\my.ini"
  3. mysqld --install
  4. net start mysql

检查配置

  • 在管理节点(MGM)机器上(VM1)中打开CMD窗口执行如下命令
  1. ndb_mgm.exe
  2. show

  如上图状态,表示安装成功!

同步测试

  • 在VM1和VM2上安装Navicat for MySQL(安装步骤省略)
  • 在VM1和VM2上打开Navicat for MySQL并新建连接(示例建立连接分别为:192.168.220.103和192.168.220.104)  安装后默认用户名为root,没有密码
  • 在192.168.220.103中新建数据库wilson_mysqlcluster_test,在192.168.220.104中查看

  发现192.168.220.104中也出现wilson_mysqlcluster_test

  • 在192.168.220.104中的wilson_mysqlcluster中建一个tb_test表,注意引擎选择“ndbcluster”,在192.168.220.103中可以看到也会有tb_test表出现

  • 测试在192.168.220.103或192.168.220.104中增、删、改操作,两个数据库都会同步

故障测试

  • 在VM2中停止SQL节点,在192.168.220.103上插入一条数据(原本有2条数据),再启动VM2上的SQL节点,看是否能正常同步

  1.在VM2中CMD窗口执行如下命令停止MySQL服务

  1. net stop msyql

  2.在192.168.220.103中插ID为3的数据后,执行如下命令,再次启动VM2中的MySQL服务,查看192.168.220.104中数据是否完整

  1. net start mysql

  测试结果如图:得到完整数据

  

  其它测试就不一一列举了

写在之后

  配置前仔细看了MySQL参考文件MySQL Cluster章节

  MySQL Cluster配置过程还是比较容易出错,配置过程中大小错误遇到非常多(目录、SQL节点not connected、MYSQL服务无法启动、数据无法同步等等),根据CMD上错误和日志文件查找对应的解决方法

  注意启动顺序会少遇到很多错误:管理节点--->数据节点--->SQL节点

  生产环境建议用至少3台服务器去配置,需要修改一下config.ini文件,配置过程与两台没什么差别

  主要参考:

  MySQL_5.5中文参考手册

  Windows 环境下配置 MySQL Cluster

Windows Server 2008R2配置MySQL Cluster的更多相关文章

  1. Windows Server 2008R2配置MySQL Cluster并将管理节点和数据节点配置成windows服务

    说明:将mysql的管理节点和数据节点配置成windows服务是为了防止有人手误关闭管理节点或数据节点的dos命令窗口,管理节点或数据节点的命令窗口误关闭可能会造成mysql某台或某几台mysql不能 ...

  2. Windows Server 2008R2 配置网络负载平衡(NLB)

    目录 配置环境 安装 安装网络负载平衡 安装Web服务器 IIS 配置 测试 其它 配置环境 VMware:(版本10.0.01) 主集群IP:192.168.220.102 VM1:192.168. ...

  3. windows server 2008R2 配置tomcat服务开机自启动

    一.配置环境 操作系统:Windows server 2008 R2 软件包:jdk_1.7.rar 二.安装操作 1,右击解压jdk_1.7.rar:解压后双击运行jdk-7u79-windows- ...

  4. Windows Server(r12) - 配置 MySQL 远程访问

    Windows Server(r12) - 配置 MySQL 远程访问 工作主要为两部分, 一部分是 Windows 防火墙, 一部分是 MySQL 自身 Windows 端口远程访问 其实就是在 W ...

  5. 如何在Windows系统中配置Mysql群集(Mysql Cluster)

    Mysql群集(Cluster)简介 MySQL群集需要有一组计算机,每台计算机的角色可能是不一样的.MySQL群集中有三种节点:管理节点.数据节点和SQL节点.群集中的某计算机可 能是某一种节点,也 ...

  6. 如何在Windows系统中配置Mysql群集(Mysql Cluster)

    MySQL群集技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障. Mysql群集(Cluster)简介 M ...

  7. windows server服务器上mysql远程连接失败的坑

    windows server服务器上mysql远程连接失败的坑 背景:趁这阿里云活动,和朋友合伙买了个服务器,最坑的是没想到他买的是windows Server的,反正便宜,将就着用吧,自己装好了wa ...

  8. Eucalyptus-利用镜像启动一个Windows Server 2008r2实例

    1.前言 使用kvm制作Eucalyptus镜像(Windows Server 2008r2为例)——http://www.cnblogs.com/gis-luq/p/3990792.html 上一篇 ...

  9. 使用kvm制作Eucalyptus镜像(Windows Server 2008r2为例)

    1.前言 Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) ...

随机推荐

  1. Selenium2+python自动化19-单选框和复选框(radiobox、checkbox)

    本篇主要介绍单选框和复选框的操作 一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了 ...

  2. 加载form表单

    var row = $('#dg').datagrid('getData').rows[rowIndex];      $('#moneyff').form('load', row);//row 可以 ...

  3. 技术英文单词贴--E

    E element 元素,成分,要素 expire 到期,终止,期满

  4. VS2010安装异常中断后无法安装的解决方法(安装时发生严重错误)

    最近,因为公司开发的需要,对开发环境进行全面的升级,在这其中也遇到了不少问题,在之后将陆续整理出来,以便以后查看. 之前开发环境:ArcGIS9.3,ArcEngine9.3,Oracle10g,Ar ...

  5. .net WebApi中使用swagger

    我在WebApi中使用swagger的时候发现会出现很多问题,搜索很多地方都没找到完全解决问题的方法,后面自己解决了,希望对于遇到同样问题朋友有帮助.我将先一步一步的演示项目中解决swagger遇到问 ...

  6. Maven学习之 Settings

    虽然天天在用,但是没有系统的学习过,总觉得别扭. 只能用于Java项目. 约定: repository  翻译成 仓库 build 翻译成 构建 build system 翻译成 构建系统 build ...

  7. Odoo10尝鲜: 退货

    Odoo sale / purchase 在 v9 改进之后, 开立发票的入口 不再像之前的版本,有多个来源,例如 订单 交货单 记工单 分析分录     现在只有一个入口,只需要在 订单上开票,这样 ...

  8. PoEdu - C++阶段班【Po学校】- 第1课

    1 C++开讲 C ++  伟大的编程语言:能提高程序运行效率,节约更多的资源,"正确的使用C++,能够抑制全球变暖问题". 2 C++能力雷达图 通过 1效率 2灵活度 3 抽象 ...

  9. JS 获取服务器时间

    function getSevertime(){ var xmlHttp = new XMLHttpRequest(); xmlHttp.open("get",location.h ...

  10. ycsb-命令及参数-与生成的负载类型相关

    loadbin/ycsb load mydb -P workloads/workloada -p "mydb.host=127.0.0.1" -p "mydb.port= ...