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