Mysql群集(Cluster)简介

MySQL群集需要有一组计算机,每台计算机的角色可能是不一样的。MySQL群集中有三种节点:管理节点、数据节点和SQL节点。群集中的某计算机可 能是某一种节点,也可能是两种或三种节点的集合。这三种节点只是在逻辑上的划分,所以它们不一定和物理计算机是一一对应的关系。

管理节点(也可以称管理服务器)主要负责管理数据节点和SQL节点,还有群集配置文件和群集日志文件。它监控其他节点的工作状态,能够启动、关闭或重启某 个节点。其他节点从管理节点检索配置数据,当数据节点有新事件时就把事件信息发送给管理节点并写入群集日志。

数据节点用于存储数据。

SQL节点跟一般的MySQL服务器是一样的,我们可以通过它进行SQL操作。

下图中画出了三种群集节点及应用程序间的关系:

 

MySQL Cluster的下载

  我们使用的Mysql Server已经不能满足群集的要求,配置群集需要使用MySQL Cluster,即只要下载MySQL Cluster就可以了,无须再下载安装MySQL Server. 因为MySQL Cluster中已经自带了。

MySQL Cluster支持Linux、Mac OS X、Solaris和Windows操作系统。以Windows系统下的MySQL Cluster版本MySQL Cluster 7.2.5为例说明MySQL Cluster的配置和启动。

MySQL Cluster的下载地址是http://dev.mysql.com/downloads/cluster。 如果你的操作系统是32位的,就选择Windows (x86, 32-bit), ZIP Archive下载,大小为228.9M,如果是64位的,就下载Windows (x86, 64-bit), ZIP Archive,大小为232.7M。它们都是免安装的二进制版本。

      MySQL Cluster的配置

首 先找三台电脑,或者是开三个虚拟机,管理节点部署在一台机子上,其他两台每台都部署一个数据节点和一个SQL节点。这里以两台机子举例,其中一台 (IP为192.168.1.10)部署管理节点、数据节点和SQL节点,另一台(IP为192.168.1.20)部署数据节点和SQL节点。

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

   1.将上面下载的安装包解压,并改文件夹名为mysql,因为需要多次在命令行中操作,所以名字改短后更容易输入。

2.配置管理节点

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

config.ini文件内容如下:

[ndbd default]
# Options affecting ndbd processes on all data nodes:
# Number of replicas
NoOfReplicas=2
# Directory for each data node's data files
DataDir=c:/mysqlcluster/datanode/mysql/bin/cluster-data # Memory allocated to data storage
DataMemory=80M
# Memory allocated to index storage
IndexMemory=18M
# For DataMemory and IndexMemory, we have used the
# default values. [ndb_mgmd]
# Management process options:
# Hostname or IP address of management node
HostName=10.0.0.11
# Directory for management node log files
DataDir=C:/mysql/bin/cluster-logs [ndbd]
# Options for data node "A":
# (one [ndbd] section per data node)
# Hostname or IP address
HostName=10.0.0.11 [ndbd]
# Options for data node "B":
# Hostname or IP address
HostName=10.0.0.10 [mysqld]
# SQL node options:
# Hostname or IP address
HostName=10.0.0.11 [mysqld]
# SQL node options:
# Hostname or IP address
HostName=10.0.0.10

my.ini文件内容如下:

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

  3.配置数据节点

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

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

       [mysql_cluster]
# Options for data node process:
ndb-connectstring=192.168.1.10 # location of management server

因为两台主机的数据节点的配置是一样的,所以我们可以直接将192.168.1.10主机中的文件夹C:\mysqlcluster拷贝到192.168.1.20主机的C盘下。

  4.配置SQL节点

在192.168.1.10主机的C:\mysqlcluster下新建子目录sqlnode,将安装包解压文件夹mysql整个拷贝到这个子目录下,然后在C:\mysqlcluster\sqlnode\mysql下新建my.ini文件,文件内容为:

       [mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
ndb-connectstring=192.168.1.10 # location of management server

之后也把C:\mysqlcluster\sqlnode文件夹整个拷贝到192.168.1.20主机的相同目录下。

  MySQL Cluster的启动

三种节点服务启动时,一定要按照先启动管理节点,后启动数据节点,再启动SQL节点的顺序进行。

1.启动管理节点

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

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

回车,管理节点服务就启动了,命令行上可能没有任何提示信息,可以打开C:\mysql\bin\cluster-logs\ndb_1_cluster.log日志文件查看启动信息。注意,此命令行窗口不能关闭,除非你想停止服务。

注:我们也可以将其做成服务,在命令行中输入:

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

2.启动数据节点

在192.168.1.10主机中打开一个新的命令行窗口,切到目录C:\mysqlcluster\datanode\mysql\bin,输入:

  ndbd

回车,数据节点就启动了。

注:我们也可以将其做成服务,在命令行中输入:

  ndbd --install=ndbd

以相同的方法在192.168.1.20中启动数据节点服务。

如何查看是否启动成功呢?我们可以在192.168.1.10主机中再新开一个命令行窗口,切到目录C:\mysql\bin,输入:

  ndb_mgm

回车,然后再输入:

  ALL STATUS

回车,就可以看到数据节点的连接信息了。

3.启动SQL节点

在192.168.1.10主机中继续打开一个新的命令行窗口,切到目录C:\mysqlcluster\sqlnode\mysql\bin,输入:

mysqld --console

回车,SQL节点启动。

注:我们也可以将其做成服务,输入:

  mysqld -install mysql

以相同的方法在192.168.1.20中启动SQL节点。

想要查看SQL节点的启动情况可以在192.168.1.10主机中同样打开新命令行,输入:

  ndb_mgm

回车,再输入:

  SHOW

回车,就可以看到SQL节点的连接情况了。

  测试MySQL集群
  数据库并插入数据">1、在sql节点A建立数据库并插入数据:

  在sql节点A的计算机上(192.168.1.10)的cmd中运行C:\mysqlcluster\sqlnode\mysql\bin\mysql.exe -u root -p命令登录mysql,接下来需要输入密码时,密码默认为空(直接回车)。

  创建数据库并插入数据:
  —–创建名为”MySQL_Cluster_Test”的数据库:

  create database MySQL_Cluster_Test;

  —–创建表”T_User”:

  use MySQL_Cluster_Test;
  create table T_User(Name varchar(32),Age int) engine=ndbcluster;

  注意建表语句后面一定要加上 engine=ndbcluster

  —–插入数据:

  insert into T_User values('DannyHoo',26);

  —–查询数据:

select * from T_User;

如何在Windows系统中配置Mysql群集(Mysql Cluster)的更多相关文章

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

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

  2. 在Windows系统中配置Google AddressSanitizer

    Google AddressSanitizer简介 AddressSanitizer (ASan) 是 C 和 C++ 的内存错误检测软件,它可以检测: 释放指针后继续使用 堆缓冲区溢出 栈缓冲区溢出 ...

  3. 如何在Windows系统中设置Python程序定时运行

    文章出处:http://blog.csdn.net/wwy11/article/details/51100432 首先,我们肯定是要用到Windows下的[计划任务]功能 之后点击右侧的[创建基本任务 ...

  4. windows系统中配置多版本anaconda

    1.最好从国内的镜像站下载anaconda,国外那个站实在是太慢了,清华开源软件镜像站(https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/) 2.如 ...

  5. mysql绿色版在windows系统中的启动

    mysql绿色版在windows系统中的启动 1.下载mysql免安装版 例如:mysql-5.7.11-winx64 2.修改配置文件,my-default.ini名称改为:my.ini,文件里面的 ...

  6. Cmder命令行工具在Windows系统中的配置

    一.Cmder简介 Cmder:一款用于Windows系统中,可增强传统cmd命令行工具的控制台模拟器(类似于Linux系统中的终端控制窗口) 特点: 无需安装,解压即用 可使用较多Linux命令,如 ...

  7. 如何在CentOS系统中安装配置SNMP服务

    CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络 ...

  8. 在Windows系统中安装集成的PHP开发环境

    原文:在Windows系统中安装集成的PHP开发环境 刚想学php的,又不会配置复杂php的环境,可以使用集成的,目前网上提供常用的PHP集成环境主要有AppServ.phpStudy.WAMP和XA ...

  9. Redis进阶实践之三如何在Windows系统上安装安装Redis(转载)

    Redis进阶实践之三如何在Windows系统上安装安装Redis 一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...

随机推荐

  1. kerberos+ladp+hadoop-ha 安全认证部署配置

    随着hadoop集群里的数据量越来越大,各业务数据都集中了里面,自然要为各业务都要提供数据支持,又希望各业务数据是相对独立安全的,这最时候就需要做安全认证了 hadoop ha 测试集群部署规划 ha ...

  2. 微信连WiFi关注公众号流程更新 解决ios微信扫描二维码不关注就能上网的问题

    前几天鼓捣了一下微信连WiFi功能,设置还蛮简单的,但ytkah发现如果是ios版微信扫描微信连WiFi生成的二维码不用关注公众号就可以直接上网了,而安卓版需要关注公众号才能上网,这样就少了很多ios ...

  3. socket异步通信-如何设置成非阻塞模式、非阻塞模式下判断connect成功(失败)、判断recv/recvfrom成功(失败)、判断send/sendto

    socket异步通信-如何设置成非阻塞模式.非阻塞模式下判断connect成功(失败).判断recv/recvfrom成功(失败).判断send/sendto 博客分类: Linux Socket s ...

  4. HTTP协议中的5类状态码

    ①   客户方错误      100   继续      101   交换协议     ②   成功      200    OK      201    已创建      202   接收      ...

  5. LA 3350

    The NASA Space Center, Houston, is less than 200 miles from San Antonio, Texas (the site of the ACM ...

  6. cf div2 236 D

    D. Upgrading Array time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  7. java系统属性

    java系统属性 1. java.runtime.name:java的运行环境名称. 2. sun.boot.library.path:jdk\jre中的bin的路径 3. java.vm.versi ...

  8. DB2常用函数:字符串函数

    VALUE函数 语法:VALUE(EXPRESSION1,EXPRESSION2) VALUE函数是用返回一个非空的值,当其第一个参数非空,直接返回该参数的值,如果第一个参数为空,则返回第一个参数的值 ...

  9. IEEE 802.3 Ethernet

    Introduction Ethernet 是过去30年以来最为成功的局域网(local area networking)技术. 1. First widely used LAN technology ...

  10. JS之DOM编程

    为什么学dom编程? 通过dom编程,我们可以写出各种网页游戏 dom编程也是我们学习ajax技术的基础,所以我们必需掌握好dom编程.  dom编程简介 DOM=Document Object Mo ...