首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL Cluster 自動化部署 Shell 腳本:多實例、管理節點、資料節點一鍵安裝

     編輯:MySQL 綜合教學

腳本功能概覽

  • 支援多 MySQL 實例安裝 (不同埠、獨立目錄)。
  • 自動編譯含 --with-ndbcluster 的 MySQL Server。
  • 產生各實例專屬 my.cnf、啟動/停止/重啟腳本。
  • 自動部署 Cluster 管理節點 (MGM)、資料節點 (DB)、API 節點 (SQL 節點)。
  • 產生 config.ini 叢集設定檔與 Ndb.cfg 連線資訊。

關鍵配置區塊 (腳本前段)

# MySQL Server 設定
INST_SERVER=1
INST_PATH="/usr/local/mysql"
INST_PORTS="3306 3307"        # 多實例埠號,空格分隔
MGM_HOST="192.168.1.253"
MGM_PORT="2200"

# Cluster 設定
INST_CLUSTER=1
COMPUTERS="192.168.1.253 192.168.1.252"  # 主機清單
MGMS="192.168.1.253"                     # 管理節點主機
DBS="1"                                  # 資料節點對應 COMPUTERS 編號 (從 1 起)
APIS="1 0 2 2"                           # API 節點對應編號,0 表不部署

安裝流程自動化步驟

  1. 依 INST_PORTS 迴圈編譯安裝 MySQL 至 $INST_PATH/N (N=1,2...)。
  2. 各實例配置 ndbcluster、ndb_connectstring、字元集 gbk、InnoDB 預設等參數。
  3. 執行 mysql_install_db 初始化系統表。
  4. 產生 start/stop/restart 控制腳本 (呼叫 mysql.server 或直接 mysqld)。
  5. Cluster 部署:複製 ndb_mgmd, ndbd 二進制檔至 $INST_PATH/cluster/。
  6. 依 COMPUTERS/MGMS/DBS/APIS 產生 config.ini (含 [TCP DEFAULT], [MGM DEFAULT], [DB DEFAULT], [API DEFAULT] 區段)。
  7. 產生 Ndb.cfg 指向管理節點。

使用方式

chmod 755 install.sh
./install.sh                 # 預設安裝至 /usr/local/mysql
# 或指定路徑
./install.sh /opt/mysql

安裝後啟動順序

  1. 管理節點:cd /usr/local/mysql/cluster && ./ndb_mgmd
  2. 資料節點:./ndbd (每台資料節點主機執行)
  3. SQL 節點:cd /usr/local/mysql/1 && ./start (各實例)
  4. 管理客戶端:./ndb_mgm 進入叢集管理介面。

注意事項

  • 需具備編譯環境 (gcc/egcs, make, autoconf 等) 及 NDB 依賴庫。
  • 腳本針對 MySQL 4.1/5.0 早期 Cluster 版本,現代版本 (7.5+, 8.0) 建議使用官方二進制包或容器化部署。
  • 生產環境請審慎評估單點故障:管理節點建議雙機熱備。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved