博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows+mysql集群搭建-三分钟搞定集群
阅读量:6367 次
发布时间:2019-06-23

本文共 4865 字,大约阅读时间需要 16 分钟。

注:本文来源:     《     》

一:mysql集群搭建教程-基础篇

计算机一级考试系统要用集群,目标是把集群搭建起来,保证一个库dang了,不会影响程序的运行。于是在孟海滨师哥的带领下开始了我的第一次搭建mysql集群,首先看了一些关于集群的资料,然后根据步骤一步步的整,遇到了一些问题,在这里把我遇到的问题以及解决方法分享出来。

【是什么】

        集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。

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

一个mysql集群包含三个节点:管理节点,数据节点和sql节点。启动顺序为:管理节点,数据节点,sql节点。管理节点只能一个,数据节点和sql节点可以根据需要设置个数。

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

数据节点:负责存储数据

sql节点:通过它进行sql操作。

【为什么】

为什么要使用集群还要通过它的优点来看,集群用较低的成本,在性能,灵活可用方面上有很大的改进

【优点】

高可伸缩性:服务器集群具有很强的可伸缩性。 随着需求和负荷的增长,可以向集群系统添加更多的服务器。在这样的配置中,可以有多台服务器执行相同的应用和数据库操作。

高可用性:在不需要操作者干预的情况下,防止系统发生故障或从故障中自动恢复的能力。通过把故障服务器上的应用程序转移到备份服务器上运行,集群系统能够把正常运行时间提高到大于99.9%,大大减少服务器和应用程序的停机时间。
高可管理性:系统管理员可以从远程管理一个、甚至一组集群,就好象在单机系统中一样。

【缺点】

        我们知道集群中的应用只在一台服务器上运行,如果这个应用出现故障,其它的某台服务器会重新启动这个应用,接管位于共享磁盘柜上的数据区,进而使应用重新正常运转。我们知道整个应用的接管过程大体需要三个步骤:侦测并确认故障、后备服务器重新启动该应用、接管共享的数据区。因此在切换的过程中需要花费一定的时间,原则上根据应用的大小不同切换的时间也会不同,越大的应用切换的时间越长。

【总结】

        这是mysql集群的首篇博客,主要介绍集群的基础知识,集群的由来,为什么使用,以及集群的优缺点,下篇博客讲解mysql集群在windows环境下的搭建过程以及在搭建过程中遇到的问题以及解决方案。

二:windows+mysql集群搭建-三分钟搞定集群

【准备工作】

          1、mysql-cluster-gpl-7.4.9-winx64

下载方式:

          2、两台电脑

一台配置管理节点,一个数据节点和一个sql节点,一台配置一个数据节点和一个sql节点。

管理节点:192.168.22.238

数据节点A:192.168.22.238

数据节点B:192.168.22.240

SQL节点A:192.168.22.238

SQL节点B:192.168.22.240

【搭建之路】

      

          一、配置mysql集群

                   1、将下载的mysql集群压缩包解压到管理节点192.168.22.238的C:\mysql目录下:

                   2、配置管理节点:

在配置管理节点(192.168.22.238)的计算机上的C:\Mysql\Bin目录下建立cluster-logs和config两个文件夹。cluster-logs用来存储日志文件,在config文件夹中建立my.ini和config.ini两个配置文件:

my.ini

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

config.ini

1   2 [ndbd ]  3 # Options affecting ndbd processes   data nodes:  4 NoOfReplicas=2                      # Number  replicas  5 DataDir=C:/mysql/bin/cluster-data   # Directory  each data node's data files   6                                     # Forward slashes used  directory path,  7                                     # rather than backslashes. This  correct;  8                                     # see Important note    9  10 DataMemory=80M                      # Memory allocated  data storage 11 IndexMemory=18M                     # Memory allocated   storage 12                                     #  DataMemory  IndexMemory, we have used the 13                                     #  . Since the "world"  takes up 14                                     #  about 500KB, this should be more than enough  15                                     # this example Cluster setup. 16  17 [ndb_mgmd] 18 # Management process options: 19 HostName=192.168.22.238           # Hostname  IP address  management node 20 DataDir=C:/mysql/bin/cluster-logs   # Directory  management node log files 21  22 [ndbd] 23 # Options  data node "A": 24 HostName=192.168.22.238             # Hostname  IP address 25  26  27 [ndbd] 28 # Options  data node "B": 29 HostName=192.168.22.240            # Hostname  IP address 30  31  32  33  34 [mysqld] 35 #  node A options: 36 HostName=192.168.22.238              # Hostname  IP address 37  38 [mysqld] 39 #  node B options: 40 HostName=192.168.22.240           # Hostname  IP address 41  42

                   3、配置数据节点:

        在配置数据节点(192.168.25.48、192.168.25.49)的计算机上的C:\Mysql\Bin目录下建立cluster-data文件夹,用来存放数据:SQL节点不用任何配置,至此,整个MySQL集群就搭建完成了。

将管理节点(192.168.22.238)电脑C:\mysql文件拷到192.168.22.240电脑的C盘

          二、启动mysql集群

启动顺序:管理节点→数据节点→sql节点

                   1、启动管理节点

在cmd中运行命令:

c:\mysql\bin\ndb_mgmd.exe --configdir=c:\mysql\bin\config --config-file=c:\mysql\bin\config\config.ini --ndb-nodeid=1 --reload –initial

                   2、启动每个数据节点:

在cmd中运行如下命令:

c:\mysql\bin\ndbd.exe --ndb-connectstring=192.168.22.238

                   3、启动每个sql节点:

在cmd中运行如下命令:

c:\mysql\bin\mysqld.exe --ndbcluster --ndb-connectstring=192.168.22.238 --console

                   4、查看每个节点的状态

在cmd命令中运行:c:\mysql\bin\ndb_mgm,再执行“show”命令,可以查看到每个节点的连接状态:

这就表明每个节点均连接正确。

          三:【测试mysql集群】

                   1、在sql节点A建立数据库并插入数据:

1 ---在sql节点A的计算机上(192.168.22.238)的cmd中运行C:\mysql\bin\mysql.exe -u root -p命令登录mysql,接下来需要输入密码时,密码默认为空(直接回车)。  2   3   4 --·创建名为“chan”的数据库:  5   6   chan;  7   8 ---·创建名为“T_chan”的表:  9  10  chan; 11   T_chan(Name (23),Age ) engine=ndbcluster; 12  13 --注意建表语句后面一定要加上 engine=ndbcluster,为什么要加上,在下一篇博客中会介绍。 14  15 --·插入数据: 16  17   T_chan ('chan',23); 18  19  20 ·查询数据: 21  22  *  T_chan; 23

                   2、在sql节点B查到数据

1 ---在sql节点B的计算机上(192.168.22.240)的cmd中运行C:\mysql\bin\mysql.exe -u root -p命令登录mysql。  2   3   4   5 --执行 show databases; 命令可以查看到在sql节点A新建的数据库;   6 --执行  7   8  chan;  9  *  T_chan; 10 --可以查询到在sql节点A插入的数据。

到这里mysql集群搭建就已经完成了。在搭建过程中也遇到了一些问题,在接下来的博客中,将会将会把我遇到的问题分享给大家。

          四:【总结】

        mysql集群我们现在做到的是加入一个数据节点宕机后,不会影响整个集群的运行,数据也不会丢失,保证了数据的完整性。第一次搭建的时候遇到了一些困难,不过这些都是小事啦。看完上面的步骤是不是觉得mysql搭建很简单,熟练以后在搭建的时候会遇到什么问题,以及如何解决,轻轻松松的就搞定了。

——————————————————————————————————————————————————————————————————————————————————————————————

转载于:https://www.cnblogs.com/ios9/p/8780935.html

你可能感兴趣的文章
学习面试题Day03
查看>>
我最喜欢的jQuery插件模板
查看>>
【云计算】Docker 多进程管理方案
查看>>
[LeetCode] Best Meeting Point 最佳开会地点
查看>>
基于InstallShield2013LimitedEdition的安装包制作
查看>>
【转】从Shell脚本内部将所有标准输出及标准错误显示在屏幕并同时写入文件的方法...
查看>>
iOS开发小技巧--利用MJExtension解决数据结构复杂的模型转换
查看>>
Python中的图形库
查看>>
Linux操作系统分析 ------------------中国科技大学
查看>>
Apache多站点实现原理和配置
查看>>
javascript类型系统——包装对象
查看>>
Android4.4中不能发送SD卡就绪广播
查看>>
解决:sudo: 无法解析主机:dinphy-500-310cn: 连接超时
查看>>
Asp.Net多线程用法1
查看>>
exFAT是支持Mac和Win的
查看>>
(转)postman中 form-data、x-www-form-urlencoded、raw、binary的区别
查看>>
js Date操作
查看>>
判断用户密码是否在警告期内(学习练习)
查看>>
sp_executesql的执行计划会被重用(转载)
查看>>
禅道项目管理软件插件开发
查看>>