首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Ubuntu 10.10 部署 MySQL 5.1 Cluster 完整實戰筆記(管理節點+資料節點+SQL節點)

     編輯:MySQL 資料庫相關知識

架構規劃

角色主機IP
管理節點 (MGM)server1192.85.1.5
資料節點 (NDB)server2192.85.1.4
資料節點 (NDB)server3192.85.1.9
SQL 節點 (API)server2, server3同上

複製因子 NoOfReplicas=2:每筆資料在兩個資料節點各存一份,單節點故障不丟資料。

共同安裝步驟(三台皆執行)

sudo groupadd mysql
sudo useradd -g mysql mysql
cd /usr/local
sudo tar -xvf mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz
sudo ln -s mysql-cluster-gpl-7.1.9a-linux-i686-glibc23 mysql
cd mysql
sudo scripts/mysql_install_db --user=mysql
sudo chown -R root .
sudo chown -R mysql data
sudo chgrp -R mysql .

SQL 節點配置 /etc/my.cnf (server2, server3)

[mysqld]
ndbcluster
ndb-connectstring=192.85.1.5

[mysql_cluster]
ndb-connectstring=192.85.1.5

管理節點配置 /usr/local/mysql/mysql-cluster/config.ini (server1)

[NDBD DEFAULT]
NoOfReplicas=2

[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]

[NDB_MGMD]
hostname=192.85.1.5
datadir=/usr/local/mysql/mysql-cluster/

[NDBD]
hostname=192.85.1.4
datadir=/var/lib/mysql-cluster/

[NDBD]
hostname=192.85.1.9
datadir=/var/lib/mysql-cluster/

[MYSQLD]
# SQL 節點自動註冊,無需額外配置

資料節點建立資料目錄 (server2, server3)

sudo mkdir -p /var/lib/mysql-cluster

啟動順序(關鍵)

  1. 管理節點 (server1):/usr/local/mysql/bin/ndb_mgmd -f /usr/local/mysql/mysql-cluster/config.ini
  2. 資料節點 (server2, server3):
    • 首次/配置變更:/usr/local/mysql/bin/ndbd --initial
    • 後續啟動:/usr/local/mysql/bin/ndbd
  3. SQL 節點 (server2, server3):/usr/local/mysql/bin/mysqld_safe --user=mysql &

驗證叢集狀態

# 管理節點
/usr/local/mysql/bin/ndb_mgm
ndb_mgm> SHOW
# 應顯示 2 NDB nodes, 1 MGM, 2 API (SQL) nodes 全部 Connected

建立 NDB 表測試同步

# SQL 節點任一台
mysql -u root -p
USE test;
CREATE TABLE test (name INT(10)) ENGINE=NDBCLUSTER;
INSERT INTO test VALUES (123);
# 另一 SQL 節點查詢
SELECT * FROM test;  -- 應看到 123

遷移既有表至 Cluster

ALTER TABLE tbl_name ENGINE=NDBCLUSTER;

版本提醒

Ubuntu 10.10 / MySQL 5.1 Cluster 極其老舊,**生產環境請升級至 Ubuntu 20.04/22.04 + MySQL Cluster 8.0**,獲得安全更新、效能提升與新功能(如線上 Schema 變更、更佳衝突偵測)。

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