1、准备集群搭建环境

使用6台虚拟机来搭建MySQL分布式集群,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示:

管理节点(MGM):这类节点的作用是管理MySQLCluster内的其他节点,如提供配置数据,并停止节点,运行备份等。由于这类节点负责管理其他节点的配置,应该在启动其他节点之前启动这类节点。MGM节点是用命令“ndb_mgmd”启动的;

数据节点(NDB):这类节点用于保存Cluster的数据,数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点,没有必要设定过多的副本,在NDB中数据会尽量的保存在内存中。数据节点使用命令“ndb”启动的;

SQL节点:这是用来访问Cluster数据的节点,对于MySQL Cluster,客户端节点是使用NDB Cluster存储引擎的传统MySQL服务器。通常,SQL节点使用命令“mysqld-ndbcluster”启动的;

2、准备安装包

在官网上下载mysql的安装包: mysql-cluster-gpl-7.4.11-Linux-glibc2.5-x86_64.tar.gz,并进行解压。

3、集群搭建流程

1]将上述安装包解压出来的文件都移到/usr/local/mysql下;

2]运行script目录下的mysql-install-db.sh脚本,运行命令为

./mysql-install-db.sh   --user=root--basedir =/usr/local/mysql --datadir=/usr/local/mysql

注意其中用户为root的名称需要跟配置文件my.cnf中的相同;

在管理节点,数据节点,SQL节点上都执行上述安装命令,从而完成对mysql的安装;

4、集群配置与启动

1]在管理节点上需要完成对于集群整体的配置配置:在/var/lib/mysql-cluster/config.ini中实现如下的配置信息:

2]在数据节点中需要在my.cnf中完成对于数据节点的相关配置信息,如下:

需要指明配置的数据节点的根目录,数据目录,socket连接配置,用户配置,以及对应的管理节点的ip地址配置;将配置完成的配置文件移动到/etc/my.cnf,完成;

3]在SQL节点上完成对于SQL节点的配置信息,同样的是在my.cnf中完成相应配置信息,并将配置文件移动到/etc/my.cnf中,相应的配置信息的设定如下所示:

完成以上配置后,就可以启动集群中的各个节点了。

5、集群启动

在启动MySQL集群的时候,注意首先要启动管理节点,并依次启动其他等若干个节点,相应的启动步骤如下:

1]在管理节点上,切换到/usr/local/mysql/bin目录下,执行ndb_mgmd -f /var/lib/mysql-cluster/config.ini命令,完成管理节点的启动;

2]在各个数据节点上,切换到/usr/local/mysql/bin目录下,执行ndbd --initial(第一次启动时,否则执行ndbd即可),完成对数据节点的启动;

3]在各个SQL节点上,同样切换到/usr/local/mysql/bin目录下,执行mysqld_safe --user=root完成启动;

4]在管理节点上运行ndb_mgm命令,进入数据库管理的客户端,输入show命令,查看与之相连接的各个节点的状态;

5]在SQL节点上分别进入系统的安全状态,并完成对root用户的密码修改,运行以下指令,进行密码修改:

A use mysql,切换到mysql数据库;B UPDATE user SET Password = PASSWORD('123456')WHERE user = 'root'

从而实现对root密码的修改;

C flush privilege,完成修改;

6]修改使得任意主机都能连得上mysql,进行如下修改,同样安装第5步进入安全模式,并完成相应的修改,如下:grant all on‘*.*’to ‘root@'%' identified by '123456'

这样就可以使得任意一个主机都可以通过root用户来登录mysql了;

6、集群测试

在集群上的一个SQL节点上执行创建数据库,并创建一张表,并完成相应的数据插入,如下:

A create database ctest;              //创建数据库

B create table test(

id int primarykey;                  //创建一张表

);

C insert into test (id)values(1);         //完成数据插入

登录另外一个SQL节点,并执行SQL查询操作,看数据库中是否已经有数据,如下:select * from ctest

如果有数据,表示数据插入成功;

7、关闭集群

1]首先关闭管理节点和数据节点,需要在管理节点上执行命令,如下:./ndb_mgm -e shutdown;

2]然后关闭SQL节点,在SQL节点上执行命令/usr/local/mysql/support-fies/mysql.server stop(其中/usr/local/mysql/是mysql的安装目录).从而关闭SQL节点;

文章来源http://blog.csdn.net/benzyh/article/details/69062240

龙果学院mysql分布式集群代码_MySQL分布式集群搭建相关推荐

  1. 龙果学院mysql分布式集群代码_龙果学院-MySQL大型分布式集群解决方案

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1 课程概述 2 课程背景 3 纵观大型网站架构发展,总结持久化部分需要应对的问题 4 操作系统安装以及配置 5 在CentOS上通过yum安装mysql ...

  2. mysql分布式如何实现原理_mysql分布式集群实现原理

    分布式集群 做mysql集群,例如:利用mysql cluster ,mysql proxy,mysql replication,drdb等等 有人会问mysql集群,根分表有什么关系吗?虽然它不是实 ...

  3. mysql 集群实践_MySQL Cluster集群探索与实践

    MySQL集群是一种在无共享架构(SNA,Share Nothing Architecture)系统里应用内存数据库集群的技术.这种无共享的架构可以使得系统使用低廉的硬件获取高的可扩展性. MySQL ...

  4. mysql 集群 备份_mysql cluster集群备份还原

    在MySQL Cluster集群上,可以在管理节点上使用start backup命令实现数据库的在线备份,在还原时可以使用ndb_restore命令来进行数据库的还原. 使用MySQL Cluster ...

  5. mysql cluster 宕机 恢复_mysql cluster 集群恢复不起来,还请大神赐教?报错-问答-阿里云开发者社区-阿里云...

    mysql cluster 集群原本使用的几乎全是内存表,后来随着数据的增长,把大的内存表迁移到磁盘表了,之后集群出现6050错误,整个集群挂掉:之后重新启动集群一直启动不起来... ----以下是集 ...

  6. mysql数据库集群版_MySql数据库集群

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

  7. mysql 数据库集群状态查看_MySQL数据库集群进行正确配置步骤

    MySQL数据库集群进行正确配置步骤 2010-06-09 10:47 arrowcat 博客园 字号: 我们今天是要和大家一起分享的是对MySQL数据库集群进行正确配置,我前两天在相关网站看见的资料 ...

  8. mysql如何手写代码_mysql手写_mysql

    myisam innoDB是mysql常用的存储引擎 MyISAM不支持事务.也不支持外键,但其访问速度快,对事务完整性没有要求. InnoDB存储引擎提供了具有提交.回滚和崩溃恢复能力的事务安全.但 ...

  9. mysql统计数据的代码_MySQL按时间统计数据的方法介绍(代码示例)

    本篇文章给大家带来的内容是关于MySQL按时间统计数据的方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在做数据库的统计时,经常会需要根据年.月.日来统计数据,然 ...

  10. mysql如何创建用户代码_MySQl创建用户和授权的方法介绍(代码示例)

    本篇文章给大家带来的内容是关于MySQl创建用户和授权的方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 权限的管理:如何创建用户和密码 给当前的用户授权 移除当前 ...

最新文章

  1. openpyxl.utils.exceptions.IllegalCharacterError错误
  2. benchmark mysql_程序员的MySQL手册(二): 监控与benchmark
  3. Java队列 PriorityQueue
  4. c语言数组输出最大值和次大值,求给定数组的最大值与次大值
  5. 计算机排线知识,一种计算机排线梳理装置制造方法及图纸
  6. php病毒图片后缀名,脚本图片类后门病毒的完美使用方法
  7. java servlet 部署到tomcat_如何把spring boot项目部署到tomcat容器中
  8. 以云战“疫”,这次阿里云又让人们惊了……
  9. java后台 ajax_ajax提交到java后台之后处理数据的实现
  10. 【面经】记一次字节跳动后端面试经历
  11. jQuery实现省市二级联动
  12. antd中分页器如何自定义_react+antd分页 实现分页及页面刷新时回到刷新前的page...
  13. Windows版本Apache+php的Xhprof应用__[2]
  14. idea maven repositories为空
  15. apache 伪静态转到nginx
  16. matlab匹配滤波检测频谱感知,一种基于匹配滤波器的频谱感知和主用户功率识别方法...
  17. 【AIQ合集】人工智能技术学习资料年度整理大合集电子书 PDF下载
  18. Python打印九九乘法表
  19. Matplotlib学习之subplots函数
  20. 简单个人静态HTML网页设计作品 基于HTML+CSS+JavaScript仿小米手机网站 html静态在线购物商城网页制作

热门文章

  1. linux常用net命令
  2. linux 配置思科路由器,思科路由器配置帧中继基本命令
  3. 分享:映像编辑工具Ghostexp
  4. PMP专题练习-整合管理
  5. “磁碟机”病毒技术分析报告
  6. Linux架设DNS服务器(ChinaITLab.com 搜集整理)
  7. SharePoint下载服务器资源
  8. 个人发卡网站源码运营版 内置4套模板
  9. ATM模拟演示软件之通信组件
  10. PCB的IPC标准是什么