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

MySQL Cluster 7.3.7 於 CentOS 6.5 完整安裝部署指南

     編輯:MySQL 綜合教學

MySQL Cluster 7.3.7 於 CentOS 6.5 完整安裝部署指南

本文記錄在 CentOS 6.5 (64-bit) 環境下,使用 mysql-cluster-advanced-7.3.7-linux-glibc2.5-x86_64.tar.gz 部署 5 節點 MySQL Cluster 的完整流程,包含 MGM 管理節點、2 個 NDB 資料節點、2 個 SQL 查詢節點。

環境規劃

角色主機名IP 位址
MGM (管理節點)mgm-node192.168.100.211
NDBD1 (資料節點)ndbd1192.168.100.212
NDBD2 (資料節點)ndbd2192.168.100.213
SQL1 (SQL 節點)sql1192.168.100.214
SQL2 (SQL 節點)sql2192.168.100.215

一、叢集基礎安裝(五節點共通)

  1. 安裝依賴套件
    yum -y install perl libaio ntpdate
  2. 關閉防火牆
    service iptables stop
    chkconfig iptables off
  3. 移除系統預載 MySQL
    rpm -qa | grep mysql
    rpm -e --allmatches --nodeps mysql-libs-5.1.71-1.el6.x86_64
  4. 解壓並部署二進制檔
    cd /main
    tar zxvf mysql-cluster-advanced-7.3.7-linux-glibc2.5-x86_64.tar.gz
    mv mysql-cluster-advanced-7.3.7-linux-glibc2.5-x86_64 mysql
  5. 建立 mysql 使用者與權限
    groupadd mysql
    useradd -g mysql -s /usr/sbin/nologin mysql
    chown -R mysql:mysql /main/mysql
  6. 初始化資料目錄
    /main/mysql/scripts/mysql_install_db --user=mysql --basedir=/main/mysql --datadir=/main/mysql/data

二、節點配置細節

1. MGM 管理節點 (192.168.100.211)

# 移除預設 my.cnf
rm -rf /etc/my.cnf

# 建立配置目錄
mkdir /main/mysql/etc
chown mysql:mysql /main/mysql/etc

# 編寫 config.ini
vi /main/mysql/etc/config.ini

config.ini 關鍵內容:

[ndb_mgmd default]
datadir = /main/mysql/data

[ndbd default]
NoOfReplicas = 2
DataMemory = 80M
IndexMemory = 18M
datadir = /main/mysql/data

[ndb_mgmd]
NodeId = 1
HostName = 192.168.100.211

[ndbd]
NodeId = 11
HostName = 192.168.100.212

[ndbd]
NodeId = 12
HostName = 192.168.100.213

[mysqld]
NodeId = 81
HostName = 192.168.100.214

[mysqld]
NodeId = 82
HostName = 192.168.100.215

2. 資料節點 NDBD1/NDBD2 (共通配置)

vi /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring = 192.168.100.211

[mysql_cluster]
ndb-connectstring = 192.168.100.211

3. SQL 節點 SQL1/SQL2 (共通配置)

# 複製啟動腳本
cp -p /main/mysql/support-files/mysql.server /etc/init.d/mysqld

# 編寫 my.cnf
vi /etc/my.cnf
[mysqld]
basedir = /main/mysql
datadir = /main/mysql/data
ndbcluster
ndb-connectstring = 192.168.100.211

[mysql_cluster]
ndb-connectstring = 192.168.100.211

三、啟動順序與驗證

嚴格遵循順序:MGM → NDBD → SQL

⚠ 首次啟動或配置變更後需加 --initial,否則會清空所有資料!

  1. 啟動 MGM
    mkdir -p /usr/local/mysql/mysql-cluster
    ndb_mgmd -f /main/mysql/etc/config.ini --initial

    檢查狀態:

    ndb_mgm -e show

    預期輸出顯示 2 個 NDB 節點、1 個 MGM、2 個 SQL 節點皆為 not connected, accepting connect 狀態。

  2. 啟動 NDBD1、NDBD2
    ndbd --initial
  3. 啟動 SQL1、SQL2
    service mysqld start

驗證叢集運作

於任一 SQL 節點登入 MySQL:

mysql -uroot -p
SHOW ENGINE NDB STATUS;
CREATE DATABASE test_cluster;
USE test_cluster;
CREATE TABLE t1 (id INT PRIMARY KEY) ENGINE=NDBCLUSTER;
INSERT INTO t1 VALUES (1),(2);
SELECT * FROM t1;

若另一 SQL 節點可查詢到相同資料,代表叢集部署成功。

常見問題排查

  • NDB 節點無法連接 MGM:檢查 config.ini IP/NodeId、防火牆、/etc/hosts 解析。
  • DataMemory/IndexMemory 不足:依實際資料量調整 config.ini 並重啟 NDB(需 --initial)。
  • SQL 節點顯示 Unknown storage engine 'ndbcluster':確認 my.cnf 已載入 ndbcluster 且二進制支援 NDB。

本文僅涵蓋基礎部署;生產環境建議進一步調優 Redo log、Checkpoint、備份策略、監控告警等進階配置。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved