Windows系统搭建Mysql Cluster集群
简单介绍一下MySQL集群涉及的三种节点:
管理节点(也可以称管理服务器)是整个集群环境的核心,类似于集群中起调度作用的枢纽,由它来负责管理其它节点(数据节点和SQL节点)的开启、关闭或重启某个节点等等;其他节点从管理节点检索配置数据,当数据节点有新事件时就把事件信息发送给管理节点并写入群集日志。该管理节点也是从mysql 5.6版本之后才出现,可见数据库对于搭建集群这个方向正在提出新的需求和新的挑战,也许在之后的版本中搭建集群将变的非常简单,期待后续版本功能更强大。
数据节点用于存储数据,如用户的数据、数据库、表、视图、存储过程等都保存在数据节点中。
SQL节点(即MySql Service服务器)跟一般的MySQL服务器是一样的,通过它来对数据进行管理和维护工作,为数据库提供各种服务,如操作数据库、安全、备份。
MySQL 集群支持多台电脑,本文搭建的MySQL集群以两台机子为例,其中一台(IP为192.168.191.3)部署管理节点、数据节点和SQL节点,另一台(IP为192.168.191.1)部署数据节点和SQL节点。
一 准备工作
管理节点(MGM)192.168.191.3(db1)
数据节点1(NDBD1) 192.168.191.3(db2)
数据节点2(NDBD2) 192.168.191.1(db3)
SQL节点1(SQL1) 192.168.191.3(db4)
SQL节点2(SQL2) 192.168.191.1(db5)
Mysql Cluster的下载地址:http://dev.mysql.com/downloads/cluster/
本人下载的是mysql-cluster-gpl-7.4.11-winx64.zip免安装版
二 集群配置
(1)管理节点
解压mysql-cluster-gpl-7.4.11-winx64.zip文件
2.1.1 在IP为192.168.191.3的电脑上的C盘根目录下新建mysql目录,在mysql目录下新建bin目录和mysql-cluster目录,在bin目录下新建cluster-logs目录、config.ini文件、my.ini文件,再将安装包中的bin目录下的ndb_mgm.exe和ndb_mgmd.exe拷贝到C:\mysql\bin下。
config.ini内容:
[ndbd default]
# Options affecting ndbd processes on all data nodes:
# Number of replicas
NoOfReplicas=2
DataDir=c:/mysqlcluster/datanode/mysql/bin/cluster-data
# Directory for each data node's data files
# 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=192.168.191.3
# 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=192.168.191.3 [ndbd]
# Options for data node "B":
# Hostname or IP address
HostName=192.168.191.1 [mysqld]
# SQL node options:
# Hostname or IP address sql节点
HostName=192.168.191.3 [mysqld]
# SQL node options:
# Hostname or IP address
HostName=192.168.191.1
my.ini中的内容如下
[mysql_cluster]
# Options for management node process
config-file=C:/mysql/bin/config.ini
(2)数据节点
2.2.1 在IP为192.168.191.3的电脑C盘新建mysqlcluster目录,在mysqlcluster目录下新建datanode目录,在datanode目录下新建mysql目录,在mysql目录下新建bin目录和cluster-data目录,在bin目录下再建一个子目录也叫cluster-data。
2.2.2 将安装包data目录下的所有文件拷贝到C:\mysqlcluster\datanode\mysql\cluster-data下
2.2.3 将安装包中bin目录下的ndbd.exe拷贝到C:\mysqlcluster\datanode\mysql\bin下
2.2.4 在C:\mysqlcluster\datanode\mysql中新建my.ini文件,文件内容为:
[mysql_cluster]
# Options for data node process:
# location of management server 管理节点IP
ndb-connectstring=192.168.191.3
注:因为各数据节点的配置是一样的,所以我们可以直接将192.168.191.3主机中的文件夹C:\mysqlcluster拷贝到192.168.191.1主机的C盘下,并无需任何更改。
(3)sql节点
2.3.1 在IP为192.168.191.3的电脑C:\mysqlcluster目录下新建sqlnode目录,在sqlnode目录下新建mysql目录,将zip文件解压后的所有文件(bin目录一级的所有目录和文件)都放在mysql目录下
2.3.2将my-default.ini 文件删除或更名为my-default.ini.bak
2.3.3在mysql目录下新建my.ini文件,文件内容为:
[mysqld]
ndbcluster
# Options for data node process:ndbcluster
# location of management server 管理节点IP
ndb-connectstring=192.168.191.3
port=3307
注:此处设置端口号为3307,是因为本人电脑上已经装了一个mysql版本,为避免冲突设置的。不设置的话默认为3306
因为各sql节点的配置是一样的,所以我们可以直接将192.168.191.3主机中的文件夹C:\mysqlcluster拷贝到192.168.191.1主机的C盘下,并无需任何更改。
三 启动集群
三种节点服务启动时,一定要按照先启动管理节点,后启动数据节点,再启动SQL节点的顺序进行。
(1)启动管理节点
3.1.1 在IP为192.168.191.3的电脑上打开命令窗口,进入到C:\mysql\bin目录,输入
ndb_mgmd -f config.ini --configdir=C:\mysql\mysql-cluster
回车,管理节点就启动了
注:此行命令行窗口不能关闭,除非想停止服务。
(2)启动数据节点
3.2.1在192.168.191.3的电脑上打开命令窗口,进入到C:\mysqlcluster\datanode\mysql\bin目录,输入
ndbd
回车,数据节点就启动了
3.2.2 以相同的方法在IP为192.168.191.1的电脑上启动数据节点
3.2.3此时可以在有管理节点的电脑上查看数据节点和sql节点的连接情况
在IP为192.168.191.3的电脑上打开命令窗口,进入到C:\mysql\bin目录,输入
ndb_mgm 按回车,再输入:
all status,回车,就可以查看数据节点的连接信息了(若使用show 会查看到管理节点、各数据节点、各SQL节点的连接信息)
(3)启动sql节点
3.3.1首先需要启动mysql服务(切记:以管理员身份运行cmd窗口,否则会出现下图情况)
启动mysql服务之前先要安装mysql服务,在192.168.191.3的电脑上打开命令窗口,进入到C:\mysqlcluster\sqlnode\mysql\bin目录,输入
mysqld –install
回车,安装mysql服务,如果已安装,就不需要进行这一步
然后输入 net start mysql 命令启动MySQL服务
3.3.2在192.168.191.3的电脑上打开命令窗口,进入到C:\mysqlcluster\sqlnode\mysql\bin,输入
mysqld --console
回车,SQL节点启动。
3.3.3以相同的方法在IP为192.168.191.1的电脑上启动sql节点
四 测试集群
本人用navicat for mysql连接数据库,在IP为192.168.191.3的电脑上创建了一个数据库,在IP为192.168.191.1电脑上也会显示,注意创建表的时候需在见建表语句后加上
engine=ndbcluster 或 engine=ndb
Windows系统搭建Mysql Cluster集群的更多相关文章
- MySQL集群---②Windows平台搭建MySQL CLUSTER集群
原文:http://blog.csdn.net/mazhaojuan/article/details/42211857 本文将通过两台电脑来简单介绍一下Windows平台如何搭建MySQL集群. My ...
- MySQL Cluster 集群
本文转载 http://www.cnblogs.com/gomysql/p/3664783.html MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统.不仅仅 ...
- MySQL Cluster 集群部署
前言 此篇博客用以介绍 MySQL Cluster 集群部署方法 一.节点规划 序号 IP地址 节点名称 1 172.16.1.201 mysql-manage 2 172.16.1.202 mysq ...
- 抄来的,占个位儿【百度架构师是怎样搭建MySQL分布式集群】
1.准备集群搭建环境 使用6台虚拟机来搭建MySQL分布式集群,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示: 管理节点(MGM):这类节点的作用是管理MySQLCluster ...
- 基于keepalived搭建MySQL热机集群
背景 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,M ...
- 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 ...
- centos7搭建ELK Cluster集群日志分析平台(三):Kibana
续 centos7搭建ELK Cluster集群日志分析平台(一) 续 centos7搭建ELK Cluster集群日志分析平台(二) 已经安装好elasticsearch 5.4集群和logst ...
- centos7搭建ELK Cluster集群日志分析平台(二):Logstash
续 centos7搭建ELK Cluster集群日志分析平台(一) 已经安装完Elasticsearch 5.4 集群. 安装Logstash步骤 . 安装Java 8 官方说明:需要安装Java ...
- centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch
应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...
随机推荐
- python3绘图示例5(基于matplotlib:正弦图等)
#!/usr/bin/env python# -*- coding:utf-8 -*- import numpy as npimport pylab as pyimport matplotlib as ...
- 谁动了我的I/O?
首先,是信用卡账单欠款0.13美刀~~~然后上亚马逊云查了一下账单. 3M次I/O...(1215133次超额的,2000000次免费的.) 于是监控了一下数据:每秒至少写5次,每秒写300KB,平均 ...
- ubuntu 显示隐藏文件
原文链接 http://blog.csdn.net/happyjiahan/article/details/6023496 方法1.使用命令ls -a显示所有的文件,包括隐藏文件 方法2.在桌面化操作 ...
- ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id
远程删除key ssh-keygen -f "~/.ssh/known_hosts" -R 192.168.0.34 如果还是不可以,通过 ssh-keygen 重新生成key
- Codeforces 760B Frodo and pillows
题目链接:http://codeforces.com/problemset/problem/760/B 题意:n个床位,m个枕头,第k个位置最多有多少个枕头,其中相邻之间的差<=1; 第k个位置 ...
- 2017.11.29 JSP+Servlet 中功能验证码及验证的实现
源代码如下: validate.jsp <%@ page language="java" import="java.util.*" pageEncodin ...
- 2017.11.9 如何利用JS做登陆验证界面
()案例----JavaScript实现输入验证 需要验证的表单输入域和要求 用户名不能为空,是否符合规定的格式 密码长度是否超过6,两次密码输入一致 邮箱地址:邮箱地址必须符合邮箱形式 ~~~注意提 ...
- redis list类型
- Windows Thin PC(7月2日发布)下载+激活+汉化
在7月2日Windows 7 瘦身版Windows Thin PC(WinTPC)完成了RTM版的编译开发,WinTPC是一个面向企业用户的产品,主要面向虚 拟桌面基础架构(VDI)消费者,Win ...
- cudpp库使用说明
所有信息是我个人在使用过程中的小小经验,不是什么权威性文档,旨在帮助需要研究此类信息的朋友少走点弯路. 整个项目的主函数,一切从这里开始 在cudpp_testrig右键属性页里找到调试,在命令行里输 ...