原文:http://blog.csdn.net/mazhaojuan/article/details/42211857

本文将通过两台电脑来简单介绍一下Windows平台如何搭建MySQL集群。

MySQL集群支持多台电脑,本文搭建的MySQL集群以两台机子为例,其中一台(IP为192.168.24.33)部署管理节点、数据节点和SQL节点,另一台(IP为192.168.24.82)部署数据节点和SQL节点。

实际应用中,不要将管理节点跟数据节点部署到一台机子上,因为如果数据节点宕机会导致管理节点不可用,同时整个MySQL群集也就都不可用了。所以一个MySQL群集理想情况下至少有三台服务器,将管理节点单独放到一台服务器上。这里以两台举例,只是为了说明三种节点的配置启动方法。

简单介绍一下MySQL集群涉及的三种节点:

管理节点(也可以称管理服务器)是整个集群环境的核心,类似于集群中起调度作用的枢纽,由它来负责管理其它节点(数据节点和SQL节点)的开启、关闭或重启某个节点等等;其他节点从管理节点检索配置数据,当数据节点有新事件时就把事件信息发送给管理节点并写入群集日志。该管理节点也是从mysql
5.6版本之后才出现,可见数据库对于搭建集群这个方向正在提出新的需求和新的挑战,也许在之后的版本中搭建集群将变的非常简单,期待后续版本功能更强大。

数据节点用于存储数据,如用户的数据、数据库、表、视图、存储过程等都保存在数据节点中。

SQL节点(即MySQL Service服务器)跟一般的MySQL服务器是一样的,通过它来对数据进行管理和维护工作,为数据库提供各种服务,如操作数据库、安全、备份。

下面简单介绍MySQL集群的搭建过程:

一、本实例MySQL集群所需环境

1.两台电脑(本人使用两台Windows8 操作系统的电脑)。

2.MySQL Cluster软件,官网地址:http://dev.mysql.com/downloads/cluster/

(本人使用的MySQL Cluster版本为:mysql-cluster-gpl-7.3.5-winx64.zip)

注意:下载合适的MySQL版本,包括平台和安装方式,推荐下载zip版本,便于配置和迁移

二、配置MySQL Cluster

1.配置管理节点

1.1 在IP为192.168.24.33的主机的C盘根目录中新建文件夹mysql,然后在此文件夹下新建子目录bin和mysql-cluster,再将安装包中的bin目录下的ndb_mgm.exe和ndb_mgmd.exe拷贝到C:\mysql\bin下。在目录C:\mysql\bin下新建cluster-logs目录、config.ini文件和my.ini文件。

1.2 config.ini文件内容如下:

  1. [ndbd default]
  2. # Options affecting ndbd processes on all data nodes:
  3. # Number of replicas
  4. NoOfReplicas=2
  5. DataDir=c:/mysqlcluster/datanode/mysql/bin/cluster-data
  6. # Directory for each data node's data files
  7. # Memory allocated to data storage
  8. DataMemory=80M
  9. # Memory allocated to index storage
  10. IndexMemory=18M
  11. # For DataMemory and IndexMemory, we have used the
  12. # default values.
  13. [ndb_mgmd]
  14. # Management process options:
  15. # Hostname or IP address of management node 管理节点
  16. HostName=192.168.24.33
  17. # Directory for management node log files
  18. DataDir=C:/mysql/bin/cluster-logs
  19. [ndbd]
  20. # Options for data node "A":
  21. # (one [ndbd] section per data node)
  22. # Hostname or IP address 数据节点
  23. HostName=192.168.24.33
  24. [ndbd]
  25. # Options for data node "B":
  26. # Hostname or IP address
  27. HostName=192.168.24.82
  28. [mysqld]
  29. # SQL node options:
  30. # Hostname or IP address sql节点
  31. HostName=192.168.24.33
  32. [mysqld]
  33. # SQL node options:
  34. # Hostname or IP address
  35. HostName=192.168.24.82

1.3 my.ini中的内容如下

  1. [mysql_cluster]
  2. # Options for management node process
  3. config-file=C:/mysql/bin/config.ini

2.配置数据节点

2.1 在IP为192.168.24.33的主机中新建文件夹C:\mysqlcluster\datanode\mysql,然后在此文件夹(mysql)中继续新建子目录bin和cluster-data,bin下再建一个子目录也叫cluster-data。

2.2 将安装包data目录下的所有文件拷贝到C:\mysqlcluster\datanode\mysql\cluster-data下

2.3 将安装包中bin目录下的ndbd.exe拷贝到C:\mysqlcluster\datanode\mysql\bin下,并在C:\mysqlcluster\datanode\mysql中新建my.ini文件,文件内容为:

  1. [mysql_cluster]
  2. # Options for data node process:
  3. # location of management server
  4. ndb-connectstring=192.168.24.33

注:因为各数据节点的配置是一样的,所以我们可以直接将192.168.24.33主机中的文件夹C:\mysqlcluster拷贝到192.168.24.82主机的C盘下,并无需任何更改。

3.配置SQL节点

3.1 在192.168.24.33主机的C:\mysqlcluster下新建子目录sqlnode,在C:\mysqlcluster\sqlnode下新建子目录mysql,将安装包文件解压到mysql目录下,然后在C:\mysqlcluster\sqlnode\mysql下新建my.ini文件,文件内容为:

  1. [mysqld]
  2. # Options for mysqld process:
  3. # run NDB storage engine
  4. ndbcluster
  5. # location of management server
  6. ndb-connectstring=192.168.24.33

3.2 将my-default.ini 文件删除或更名为my-default.ini.bak

注:因为各SQL节点的配置是一样的,所以我们可以直接将192.168.24.33主机中的文件夹C:\mysqlcluster拷贝到192.168.24.82主机的C盘下,并无需任何更改。

三、启动MySQL Cluster

在启动MySQL Cluster之前,首先要做的是保证每个SQL节点上的MySQL服务能够启动成功,并为每个SQL节点进行相关权限的分配以保证能够远程登录访问。然后依次启动三种节点。三种节点服务启动时,一定要按照先启动管理节点,后启动数据节点,再启动SQL节点的顺序进行。

1.启动MySQL服务

1.1 进入C:\mysqlcluster\sqlnode\mysql\bin目录下,使用mysqld –install安装MySQL服务

1.2 使用net start mysql命令启动MySQL服务(如果已经安装MySQL服务,就不必进行第1步操作)

若没安装MySQL服务,先安装MySQL服务再开启MySQL服务,按如下图片进行

注:依次运行各个SQL节点,保证MySQL服务正确启动。

2.配置MySQL远程连接

2.1 进入C:\mysqlcluster\sqlnode\mysql\bin目录下,使用mysql -uroot -p,然后输入密码,设置root用户密码。(注:刚安装的MySQL,默认密码为空!)

2.2 切换到mysql数据库,输入以下命令,为root用户分配远程连接的相关权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIEDBY 'root' WITH GRANT OPTION;


接下来依次启动各节点:

3.启动管理节点

在192.168.24.33主机中打开命令行窗口,切到C:\mysql\bin目录,输入

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

回车,管理节点服务就启动了,命令行上可能没有任何提示信息,可以打开C:\mysql\bin\cluster-logs\ndb_1_cluster.log日志文件查看启动信息。

注意:此行命令行窗口不能关闭,除非想停止服务。

4.启动数据节点

4.1 在192.168.24.33主机中打开新命令行窗口,切到C:\mysqlcluster\datanode\mysql\bin,输入 ndbd,按回车,数据节点就启动了

4.2 以相同的方法在其他数据节点,即192.168.24.82中启动数据节点服务。

4.3 查看数据节点及SQL节点连接情况

在192.168.24.33主机中打开新命令行窗口,切到目录C:\mysql\bin,输入:ndb_mgm;按回车,再输入:

ALL STATUS,回车,就可以查看数据节点的连接信息了(若使用Show 会查看到各管理节点、数据节点、SQL节点的连接信息)

5.启动SQL节点

5.1 在192.168.24.16主机中打开新命令行窗口,切到C:\mysqlcluster\sqlnode\mysql\bin,输入:

mysqld--console;回车,SQL节点启动。

5.2  以相同的方法在其他SQL节点,即192.168.24.82中启动SQL节点。

按上一步(4.3)查看方法,使用show命令,查看各SQL节点连接情况。若出现上图情况,表示各节点均已连接成功!

四、测试MySQL Cluster

在任一SQL节点,即192.168.24.33主机上新创建一个数据库mytestmysql,可以看到其他SQL结点,即192.168.24.82均创建了一个mytestmysqlB数据库。在一台机子上对数据表进行任何操作,另一台机子上的数据库也会进行相应的操作。

至此,Windows平台搭建MySQL集群的过程就介绍完了!搭建过程中可能会遇到些小问题,不过通过网络,基本上都可以解决。

MySQL集群---②Windows平台搭建MySQL CLUSTER集群的更多相关文章

  1. 【MongoDB】windows平台搭建Mongo数据库复制集(类似集群)(转)

    原文链接:[MongoDB]windows平台搭建Mongo数据库复制集(类似集群)(一) Replica  Sets(复制集)是在mongodDB1.6版本开始新增的功能,它可以实现故障自动切换和自 ...

  2. centos7搭建ELK Cluster集群日志分析平台(四):Fliebeat-简单测试

    续之前安装好的ELK集群 各主机:es-1 ~ es-3 :192.168.1.21/22/23 logstash: 192.168.1.24 kibana: 192.168.1.25 测试机:cli ...

  3. centos7搭建ELK Cluster集群日志分析平台(三):Kibana

    续  centos7搭建ELK Cluster集群日志分析平台(一) 续  centos7搭建ELK Cluster集群日志分析平台(二) 已经安装好elasticsearch 5.4集群和logst ...

  4. centos7搭建ELK Cluster集群日志分析平台(二):Logstash

    续  centos7搭建ELK Cluster集群日志分析平台(一) 已经安装完Elasticsearch 5.4 集群. 安装Logstash步骤 . 安装Java 8 官方说明:需要安装Java ...

  5. centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch

    应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...

  6. centos7搭建ELK Cluster集群日志分析平台

    应用场景:ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平台 ...

  7. 【MongoDB】windows平台搭建Mongo数据库复制集(相似集群)(三)

    关于windows平台搭建Mongo数据库复制集这个话题,我已经在前面写了两篇博客 第一篇: 怎样在windows平台搭建Mongo数据库复制集 第二篇: 数据同步和故障自适应測试 在本篇里面,咱们重 ...

  8. Windows下搭建MySQL Master Slave[转]

    Windows下搭建MySQL Master Slave 一.背景 服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用k ...

  9. 【精】搭建redis cluster集群,JedisCluster带密码访问【解决当中各种坑】!

    转: [精]搭建redis cluster集群,JedisCluster带密码访问[解决当中各种坑]! 2017年05月09日 00:13:18 冉椿林博客 阅读数:18208  版权声明:本文为博主 ...

随机推荐

  1. python完成留言板功能

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8&quo ...

  2. 转载:PHP 协程实现

    转自:https://newt0n.github.io/2017/02/10/PHP-%E5%8D%8F%E7%A8%8B%E5%8E%9F%E7%90%86/ 实现 PHP 协程需要了解的基本内容. ...

  3. 关于jdk与jre的区别

    JDK:Java Development Kit JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库.是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程 ...

  4. lua中是 ffi 解析 【是如何处理数据包的/pkt是如何传进去的】 fsfsfs

    lua中的ffi是如何解析的呢? 拿bcc中对proto的解析说起: metatype是有大学问的: ffi.metatype(ffi.typeof('struct ip_t'), { __index ...

  5. IPV6地址格式分析

    IPV6地址格式分析 IPv6的地址长度是128位(bit). 将这128位的地址按每16位划分为一个段,将每个段转换成十六进制数字,并用冒号隔开. 例如:2000:0000:0000:0000:00 ...

  6. [hdu6432]Problem G. Cyclic

    题目大意:给你$n$,一种合法的排列为,排列中没有$s[i\%n+1]-s[i]==1$,求合法方案数 题解:容斥,令$f_{i,j}$表示有$i$个元素,至少包含$j$个$s[i\%n+1]-s[i ...

  7. [codeforces] 25E Test || hash

    原题 给你三个字符串,找一个字符串(它的子串含有以上三个字符串),输出此字符串的长度. 先暴力判断是否有包含,消减需要匹配的串的数量.因为只有三个字符串,所以暴力枚举三个串的位置关系,对三个串跑好哈希 ...

  8. macOS Sierra下如何打开任何来源(10.12系统)

    转载声明:本站文章无特别说明皆为原创,转载请注明:史蒂芬周的博客, 一定有很多朋友和小子一样,迫不及待的升级到了macOS Sierra,随之而来的是第三方应用都无法打开了,提示无法打开或者扔进废纸篓 ...

  9. Angular(一)

    一.Angular优点: 1.MVC:职责清晰,代码模块化. 2.模块化 3.指定系统——directive:我们已经在模板中看到了一些新的属性,这些属性不属于HTML规范.例如:我们引入了双花括号用 ...

  10. 嵌入式Linux下Camera编程--V4L2【转】

    转自:http://blog.csdn.net/fwqlzz/article/details/51126653 版权声明:本文为博主原创文章,未经博主允许不得转载. USB video class(又 ...