1、准备集群搭建环境

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

节点名称

节点IP

节点内存

节点硬盘大小

节点CPU

MYSQL节点角色

Ubuntu-1

192.168.1.26

768M

20G

30%

管理节点(MGM)

Ubuntu-2

192.168.1.27

768M

10G

30%

数据节点(NDB)

Ubuntu-3

192.168.1.28

768M

10G

30%

数据节点(NDB)

Ubuntu-4

192.168.1.29

768M

10G

30%

数据节点(NDB)

Ubuntu-5

192.168.1.31

768M

10G

30%

客户(SQL)节点

Ubuntu-6

192.168.1.32

768M

10G

30%

客户(SQL)节点

管理节点(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节点;

linux mysql 集群搭建_MySQL分布式集群搭建相关推荐

  1. hadoop搭建伪分布式集群(centos7+hadoop-3.1.1)

    原文地址:https://www.cnblogs.com/zhengna/p/9316424.html Hadoop三种安装模式 搭建伪分布式集群准备条件 第一部分 安装前部署 1.查看虚拟机版本 2 ...

  2. 手把手教你搭建MinIO分布式集群

    手把手教你搭建MinIO分布式集群 要求: MinIO集群规格:2节点2个磁盘. Minio域名:test_minio.com 数据目录:/opt/minio/data1,/opt/minio/dat ...

  3. 搭建Hadoop分布式集群的详细教程

    目录 写在前面 一.创建虚拟机,安装Centos 二.VMware VMnet8模式共享主机网络配置 三.克隆集群节点HadoopSlave1与HadoopSlave2 四.Linux系统配置 五.H ...

  4. Hadoop搭建完全分布式集群

    Hadoop搭建完全分布式集群 搭建准备 配置ssh和编写一个分发shell脚本 java和hadoop 运行测试 最近公司事情不是很多,趁此机会,学习一下大数据的内容,正好公司之后也要使用大数据方面 ...

  5. nginx搭建tomcat分布式集群

    nginx搭建tomcat分布式集群 1. nginx使用80端口,所有对服务器80端口的访问都被nginx拦截.例: 127.0.0.1 www.jthinking.com 127.0.0.1 ad ...

  6. Storm环境搭建(分布式集群)

    作为流计算的开篇,笔者首先给出storm的安装和部署,storm的第二篇,笔者将详细的介绍storm的工作原理.下边直接上干货,跟笔者的步伐一块儿安装storm. 原文链接:Storm环境搭建(分布式 ...

  7. 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群

    笔记内容:搭建ELK日志分析平台(上)-- ELK介绍及搭建 Elasticsearch 分布式集群 笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装 ...

  8. 搭建hadoop分布式集群

    搭建hadoop分布式集群 ~ jdk安装 ip修改 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none H ...

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

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

  10. Linux 系列(三)——Redis 分布式集群搭建

     在Redis的安装和部署(Linux)一文中详细介绍了在Linux环境中搭建Redis服务,本文将介绍关于Redis分布式 集群搭建细节. 一.Redis集群架构 1.Redis集群架构图 蓝色 ...

最新文章

  1. 51CTO交流摘录(2):SOC的应用现状
  2. git查看一个文件的历史记录
  3. ylb:表的结构的修改和基本约束
  4. 年近而立,Java何去何从?
  5. 英特尔回应安全漏洞问题:已在硬件层面解决
  6. mybatis中prefix,suffix,prefixOverrides,suffixOverrides用法解释
  7. java 分级显示_上级部门与下级部门的分类显示
  8. 教程-Delphi资源文件(全面分析于使用)
  9. 3ds max sdk导出插件编写的心得
  10. SQL之EXISTS用法示例
  11. vue电商后台管理项目总结
  12. 最简单的正版Win10重装系统教程
  13. 当我跑步时我在想什么读后感
  14. 世界ol的服务器在哪个文件夹,世界OL7月新区永恒之约官方服务器开启
  15. 专访当当网张亮:深度解读分布式作业调度框架elastic-job
  16. 小程序之100推荐:901~1000
  17. 【备忘】修复过的SCCM报错
  18. 零线和地线的区别、示波器如何测量市电
  19. Wait for me和waitting for me有什么区别?
  20. Python中面向对象(类,对象,魔法,打印)

热门文章

  1. rgb sw 线主板接口在哪_火力升级 华硕B460重炮手PRO主板豪横上市_搜狐汽车
  2. 华硕ARMOURY CRATE奥创安装/风扇快捷键问题
  3. OFD文档如何快速批量转成JPG
  4. Python最新官方教程中文版,火了!!
  5. LDA模型,主题聚类模型
  6. ISG2014 Writeups
  7. codeforces题解
  8. SSM框架整合,简单案例
  9. 基于WPF开发了一款简单的小型CAD软件.放个效果图
  10. 【验证码识别】极验滑动拼图验证码识别方案