NDB(Network Database)是MySQL Cluster的核心存储引擎,专为高可用性、高吞吐量、分布式数据存储设计,采用内存计算+磁盘持久化架构,支持跨节点数据分片与自动冗余,适用于对实时性和可靠性要求严苛的业务场景(如金融交易、电信计费、实时分析等)。
今天大白鼠就分享构建mysql集群的脚本帮助大家快速部署学习环境!
使用脚本必读信息:
主机名称规划(本次脚本以一个管理节点,两个mysql节点和两个data节点为例):
管理节点: mgr
mysql节点A: mysqla
mysql节点B: mysqlb
数据节点1 data1
数据节点2 data2
安装包:mysql-cluster-gpl-7.6.16-linux-glibc2.12-x86_64.tar.gz
站内下载链接:https://download.csdn.net/download/qq_28608175/91554469
先部署mysql节点和数据节点,最后部署管理节点;运行任何脚本前请记住服务器IP地址,按照上述主机名称规划对应。
管理节点脚本:
#!/bin/bash
# Function: 安装并配置 MySQL NDB 管理节点
# Author: tommypeng 20250730
set -e# ===== 函数定义 =====
function error_exit {echo -e "\033[31m错误:$1\033[0m" >&2exit 1
}function success_msg {echo -e "\033[32m$1\033[0m"
}# ===== 权限检查 =====
[[ "$USER" != "root" ]] && error_exit "请使用 root 用户执行此脚本。"# ===== 防火墙与 SELinux 处理 =====
systemctl stop firewalld && systemctl disable firewalld && success_msg "防火墙已关闭"
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
setenforce 0 && success_msg "SELinux 已关闭"# ===== 安装包检查 =====
tarball="/root/mysql-cluster-gpl-7.6.16-linux-glibc2.12-x86_64.tar.gz"
[[ ! -f $tarball ]] && error_exit "未找到安装包 $tarball,请上传。"# ===== 获取用户输入 =====
read -erp "请输入管理节点IP地址: " mgrIP
read -erp "请输入 MySQL 节点 A 的 IP 地址: " mysqlAIP
read -erp "请输入 M