在windows环境下搭建mysql集群

1. 前(fei)言(hua)

最近实训老师给我们布置了一个建立mysql集群的任务,并扔了两个博客链接给我们参考,然后就没有然后了。根据老师给的博客上面的步骤试了一下,发现并不能成功建立,于是自己百度,找到了一个挺靠谱的博客,于是参考了一下,感觉总体还是不错的~

靠谱的博客:

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

2. 理论基础知识

首先需要了解什么是管理节点、数据节点和SQL节点~

(1)管理结点:从名字可以看出来,这种结点的作用就是管理其他结点的,这个节点可以查看其他数据节点和SQL节点的连接状态,并可以控制这些的节点重启。

(2)数据节点:这些节点的作用就是存放数据,每个数据节点都有这个mysql集群的全部数据(数据冗余),也就是只要存在一个能运行就可以了~

(3)SQL节点:这些节点向外提供SQL接口,所有数据库操作都发往这里,也是只要存在一个能运行就可以~

(ps:本文侧重实际操作,理论基础知识请自行百度学习~)

3. 实际操作过程(博主的操作系统是WIN10~)

以下使用5台电脑来实现mysql集群(1个管理节点,2个数据节点,2个SQL节点)

管理节点的IP:192.168.1.66

数据节点1的IP:192.168.1.50

数据节点2的IP:192.168.1.53

SQL节点1的IP:192.168.1.63

SQL节点2的IP:192.168.1.56

(1)到mysql官网下载一个解压版的mysql cluster,下载地址在下面~

下载地址

根据自己的操作系统选择

下载完成后解压

(2)配置管理节点

在管理节点的C盘新建一个mysql文件夹,然后在mysql文件夹下新建一个bin文件夹和mysql-cluster文件夹。在刚刚解压出来的文件夹中的bin文件夹下找到ndb_mgm.exe和ndb_mgmd.exe,然后复制到刚刚新建的bin文件夹下,并在此文件夹下新cluster-logs文件夹、config.ini文件和my.ini文件。

编辑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 管理节点 IP
HostName=192.168.1.66
# Directory for management node log files 管理节点日志存放路径
DataDir=C:/mysql/bin/cluster-logs 

[ndbd]
# Options for data node "1":
# (one [ndbd] section per data node)
# Hostname or IP address 数据节点1 IP
HostName=192.168.1.50        

[ndbd]
# Options for data node "2":
# Hostname or IP address 数据节点2 IP
HostName=192.168.1.53          

[mysqld]
# SQL node options:
# Hostname or IP address sql节点1 IP
HostName=192.168.1.63     

[mysqld]
# SQL node options:
# Hostname or IP address sql节点2 IP
HostName=192.168.1.56 

编辑my.ini文件:

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

(2)配置数据节点:

在数据节点1新建C:\mysqlcluster\datanode\mysql文件夹,在这个mysql文件夹中新建一个bin文件夹和cluster-data文件夹,在这个新建bin文件夹中新建一个也叫cluster-data的文件夹。接下来将解压的文件夹中data目录下所有文件复制到C:\mysqlcluster\datanode\mysql\cluster-data,再到解压文件夹中的bin目录下复制一个ndbd.exe到C:\mysqlcluster\datanode\mysql\bin,最后再新建一个my.ini文件。

编辑my.ini:

[mysql_cluster]
# Options for data node process:
# location of management server 管理节点IP
ndb-connectstring=192.168.1.66

由于数据节点2的配置与这个一毛一样,你可以选择再弄一次加深印象,也可以在数据节点2先新建C:\mysqlcluster\datanode,然后偷懒把这个数据节点1的C:\mysqlcluster\datanode下的mysql文件夹整个复制到数据节点2的C:\mysqlcluster\datanode目录下。

(3)配置SQL节点

在SQL节点1新建C:\mysqlcluster\sqlnode\mysql文件夹,将安装包文件解压到mysql目录下,然后在C:\mysqlcluster\sqlnode\mysql下新建my.ini文件

编辑my.ini:

[mysqld]
# Options for mysqld process:
# run NDB storage engine
ndbcluster
# location of management server 管理节点IP
ndb-connectstring=192.168.1.66

记得要把my-default.ini 文件删除或更名为其他名字

SQL节点2的配置和SQL节点1一毛一样,自己看着办~

(4)打开mysql cluster

A、先打开SQL节点的服务:(dos命令行)

如果没有安装MySQL服务,则到SQL节点进入C:\mysqlcluster\sqlnode\mysql\bin目录下,使用mysqld –install安装MySQL服务,使用net start mysql命令启动MySQL服务

如果已经安装了MySQL服务,则直接使用net start mysql命令启动MySQL服务

SQL节点2也做相同操作

B、为root用户分配远程连接的相关权限

到管理节点进入C:\mysqlcluster\sqlnode\mysql\bin目录下,使用mysql -uroot -p,然后输入密码(默认为空)

然后输入

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘root‘ WITH GRANT OPTION;

C、启动管理节点

到管理节点打开命令行窗口,切到C:\mysql\bin目录,输入

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

这个窗口不能关掉,否则服务不可用。

打开

D、启动数据节点

到数据节点1打开命令行窗口,切到C:\mysqlcluster\datanode\mysql\bin,输入 ndbd

数据节点1:

数据节点2操作相同:

E、启动SQL节点

到SQL节点1打开命令行窗口,切到C:\mysqlcluster\sqlnode\mysql\bin,输入:

mysqld –console

SQL节点1

SQL节点1启动完成:

SQL节点2操作相同

4. 测试

到任意一个SQL节点创建数据库,在新建的数据库里面新建一张表

create database db;
use db;
create table t (id int) engine=ndbcluster;

到另一个SQL节点查询看看能否看到新建的数据库db和表t,如果有那就没问题了~

show databases;
use db;
show tables;
时间: 2024-12-29 06:42:56

在windows环境下搭建mysql集群的相关文章

Windows环境下搭建rabbitmq集群与负载

欢迎提出意见及建议,发现错误请留言 需要的文件下载: 百度云:链接:https://pan.baidu.com/s/1gpZa2NjNxviEnihjS2Viuw  提取码:39hi  复制这段内容后打开百度网盘手机App,操作更方便哦 蓝奏云:下载:https://www.lanzous.com/i54x5da 密码:cgb9 参考博文: https://blog.csdn.net/elie_yang/article/details/86657851 https://blog.csdn.net

在Windows环境下配置MySQL集群

前言 最近在项目中用到了MySQL集群,所以就和小伙伴们研究了两天.下面给大家分享一下成果. 小编始终觉得对新事物的学习,没有比看图这种方式更好地理解了.所以先来看一张mysql集群的架构图(摘自百度百科-MySQL Cluster): 上图一共分了四层:Applications.SQL.Storage.Management. 如果您的英语不是体育老师教的的话,那么您肯定已经猜出来每一层的职责了: -–Applications主要是指需要连接数据库的应用程序: -–SQL中每一个mysqld都是

windows环境下搭建redis集群

Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb(注意:Redis集群需要至少3个以上节点,低于3个无法创建) 1.下载(zip格式)并安装Redis:(https://github.com/MSOpenTech/redis/releases/) 1)将下载到的Redis-x64-3.0.504.zip解压即可,为了方便使用,建议放在盘符根目录下,并修改目录名为Redis,如:D:\Redis 2)通过配置

Linux 环境下搭建Jmeter集群

一.为什么要搭建集群? 主要原因单台服务器没有办法满足系统的压力,通过多台服务器来缓解压力. 二.Jmeter 分布式原理 1.JMeter 分布式测试,选择节点来做调度服务器,其他的节点作为执行节点,通过调度节点管理其他节点: 2.启动服务时,调度服务器会把脚本发送到各个执行节点(脚本会发送到执行节点,但是数据不会发送),执行节点拿到脚本开始执行命令: 3.各个执行节点执行结束以后将结果回传给调度节点,调度节点进行数据汇总: 原理图: 三.环境搭建 1.每个节点安装Jmeter. 2.进入Jm

在Windows系统下搭建Redis集群

准备工作 需要4个部件:Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb.使用redis-trib.rb工具来创建Redis集群,由于该文件是用ruby语言写的,所以需要安装Ruby开发环境,以及驱动redis-xxxx.gem. 1)下载Redis安装文件:https://github.com/MSOpenTech/redis/releases/,Redis提供msi和zip格式的下载文件,这里下载zip

RabbitMQ:Docker环境下搭建rabbitmq集群

RabbitMQ作为专业级消息队列:如何在微服务框架下搭建 使用组件 文档: https://github.com/bijukunjummen/docker-rabbitmq-cluster 下载镜像: git clone https://github.com/bijukunjummen/docker-rabbitmq-cluster.git cd docker-rabbitmq-cluster/clusterdocker-compose up -d 等待下载完成: 会自动构建3个rabbitM

linux环境下搭建ActiveMQ集群

ActiveMQ服务器数量:3个(复制3份) activemq-a(消费者),activemq-b(生产者,消费者),activemq-c(生产者,消费者) 修改配置文件 先修改activemq-a中的文件(端口号8161和61616,这个默认就行),修改activemq-a中conf下的activemq.xml 然后修改activemq-b中的文件(端口号8162和61617),修改activemq-b中conf下的activemq.xml 修改activemq-b中conf下的jetty.x

Zookeeper:Docker环境下搭建Zookeeper集群

下载镜像 docker pull garland/zookeeper 搭建: docker run -d --name=zk1 --net=host -e SERVER_ID=1 -e ADDITIONAL_ZOOKEEPER_1=server.1=localhost:2888:3888 -e ADDITIONAL_ZOOKEEPER_2=server.2=localhost:2889:3889 -e ADDITIONAL_ZOOKEEPER_3=server.3=localhost:2890:

window平台如何搭建Mysql集群

为了提高系统的可用性实现系统7*24小时运行的目标,我们的项目搭建了一个mysql集群来增加系统的可靠性,下面说一下项目中mysql集群的搭建过程. 先谈谈对于搭建各种集群.分布式.负载均衡的理解,一个高可用.高性能.伸缩性强的分布式系统并不是一蹴而就,一下搭出这样的架构也有点不可能,至少个人觉得对于系统的运行状况没有一个可靠地保证,你不能保证架构中不会出现什么纰漏之处,因此架构师也是一点一点成长起来的,在小的架构解决不了目前的问题时.在不断的高并发.每年的双十一等这样的问题中成长起来的. 在我