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

Windows Server 2008 R2 部署 MySQL Cluster 7.3 完整實戰

     編輯:MySQL 綜合教學

Windows Server 2008 R2 部署 MySQL Cluster 7.3 完整實戰

實驗拓撲架構

VMIP角色
VM1192.168.220.103管理節點(MGM)、資料節點(NDBD1)、SQL節點(SQL1)
VM2192.168.220.104資料節點(NDBD2)、SQL節點(SQL2)

軟體版本: MySQL Cluster 7.3.7 (MSI Installer)
安裝路徑: C:\Program Files\MySQL\MySQL Cluster 7.3

核心概念:三類節點

  • 管理節點 (ndb_mgmd):叢集配置、啟動協調、狀態監控
  • 資料節點 (ndbd):儲存實際資料、處理讀寫、冗餘備份
  • SQL 節點 (mysqld):對外提供 MySQL 協定介面,路由請求至資料節點

關鍵目錄準備

# 兩台 VM 均需建立
C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster

config.ini(僅 VM1 需建立,位於安裝目錄)

[ndbd default]
NoOfReplicas=2

[ndb_mgmd]
NodeId=1
HostName=192.168.220.103
DataDir=C:\Program Files\MySQL\MySQL Cluster 7.3\data

[ndbd]
NodeId=21
HostName=192.168.220.103
DataDir=C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster

[ndbd]
NodeId=22
HostName=192.168.220.104
DataDir=C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster

[mysqld]
NodeId=11
HostName=192.168.220.103

[mysqld]
NodeId=12
HostName=192.168.220.104

my.ini(兩台 VM 同樣配置,位於安裝目錄)

[mysqld]
character_set_server=utf8
basedir="C:\Program Files\MySQL\MySQL Cluster 7.3"
datadir="C:\Program Files\MySQL\MySQL Cluster 7.3\data"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
ndbcluster
ndb-connectstring=192.168.220.103
explicit_defaults_for_timestamp=true

[mysql_cluster]
ndb-connectstring=192.168.220.103

啟動順序(嚴格遵守)

  1. 管理節點 (VM1)
    cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
    ndb_mgmd.exe --config-file="C:\Program Files\MySQL\MySQL Cluster 7.3\config.ini" --configdir="C:\Program Files\MySQL\MySQL Cluster 7.3"
  2. 資料節點 (VM1)
    ndbd.exe --initial  # 僅首次需 --initial,之後直接 ndbd.exe
  3. SQL 節點 (VM1)
    mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.3\my.ini"
    mysqld --install
    net start mysql
  4. 資料節點 (VM2)
    ndbd.exe
  5. SQL 節點 (VM2)
    mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.3\my.ini"
    mysqld --install
    net start mysql

驗證叢集狀態

ndb_mgm.exe -e show

輸出應顯示所有節點 STARTED,且資料節點同屬同一 Node Group。

同步測試

  • 使用 Navicat 分別連線 103 與 104
  • 在 103 建庫 wilson_mysqlcluster_test,104 秒級可見
  • 在 104 建表 tb_test ENGINE=ndbcluster,103 同步出現
  • 增刪改操作雙向同步驗證通過

故障測試:SQL 節點失效自動恢復

  1. VM2 停止 MySQL 服務:net stop mysql
  2. VM1 插入新資料(ID=3)
  3. VM2 重啟服務:net start mysql
  4. 驗證 VM2 資料完整包含 ID=3

測試通過,證明叢集具備高可用特性。

生產環境建議

  • 至少 3 台伺服器,避免單點故障
  • 管理節點獨立部署,不與資料節點共機
  • 配置 DataMemory、IndexMemory 依實際資料量規劃
  • 啟用 BackupDataDir 定期線上備份
  • 監控 ndb_mgm -e "ALL REPORT MEMORYUSAGE"

常見坑點避雷

  • 啟動順序錯誤導致節點無法加入
  • 防火牆攔截節點間通訊埠(1186, 2202, 3306 等)
  • --initial 重複使用導致資料遺失
  • Windows 路徑含空格需雙引號包裹
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved