MySQL分布式集群搭建教程

 更新时间:2023年06月19日 09:57:58   作者:KevinYunhe  
这篇文章主要介绍了MySQL分布式集群搭建教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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密码的修改;
Cflush 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节点;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mysql中tonumber函数使用及注意事项

    mysql中tonumber函数使用及注意事项

    在MySQL中,没有直接的TO_NUMBER函数,但可以通过CAST或CONVERT实现字符串到数字的转换,转换前需明确数据类型,了解转换语法,并注意错误处理、空值处理、格式合规性和精度问题,本文介绍mysql中tonumber函数使用及注意事项,感兴趣的朋友一起看看吧
    2025-02-02
  • mysql-5.7.28 在Linux下的安装教程图解

    mysql-5.7.28 在Linux下的安装教程图解

    这篇文章主要介绍了mysql-5.7.28 的Linux安装,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • MySQL启动报错:Can not connect to MySQL server的解决方法

    MySQL启动报错:Can not connect to MySQL 

    今天打开数据库出现一个错误,ERROR 2003: Can't connect to MySQL server on 'localhost' 的错误,网上查找原因说是我的mysql服务没有打开,所以本文给大家介绍了MySQL启动报错:Can not connect to MySQL server的解决方法,需要的朋友可以参考下
    2024-03-03
  • MySQL ORDER BY 语句常见用法、示例详解

    MySQL ORDER BY 语句常见用法、示例详解

    ORDER BY 是结构化查询语言(SQL)中的关键字,隶属于SELECT语句的子句结构,用于对查询结果集按指定列进行排序,本文给大家介绍MySQL ORDER BY 语句常见用法、示例和注意事项,确保内容真实可靠,并基于 MySQL官方文档和最佳实践,需要的朋友跟随小编一起学习吧
    2025-08-08
  • MySQL常用函数详解之日期函数

    MySQL常用函数详解之日期函数

    本文详解MySQL日期函数,涵盖获取、计算、格式化及比较,结合统计销售额、计算注册时长等实战案例,帮助掌握日期处理技巧,感兴趣的朋友一起看看吧
    2025-06-06
  • Mysql中正则表达式Regexp常见用法及说明

    Mysql中正则表达式Regexp常见用法及说明

    这篇文章主要介绍了Mysql中正则表达式Regexp常见用法及说明,具有很好的参考价值,希望对大家有所帮助。
    2022-12-12
  • Mysql连接本地报错:1130-host ... is not allowed to connect to this MySQL server解决

    Mysql连接本地报错:1130-host ... is not allowed to connect t

    这篇文章主要给大家介绍了关于Mysql连接本地报错:1130-host ... is not allowed to connect to this MySQL server的解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • 一次SQL如何查重及去重的实战记录

    一次SQL如何查重及去重的实战记录

    sql去重这可以说算是比较经典的面试题了,这篇文章主要给大家介绍了一次SQL如何查重及去重的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • MySQL参数优化信息参考(my.cnf参数优化)

    MySQL参数优化信息参考(my.cnf参数优化)

    下面针对一些参数进行说明,当然还有其它的设置可以起作用,取决于你的负载或硬件:在慢内存和快磁盘、高并发和写密集型负载情况下,你将需要特殊的调整
    2024-07-07
  • HAProxy+mysql实现负载均衡实践

    HAProxy+mysql实现负载均衡实践

    文章简要介绍了HAProxy的安装配置方法,包括准备服务器环境、安装HAProxy、配置balance算法和mysql负载均衡等,最后给出了配置文件示例和查看状态的方法
    2026-04-04

最新评论