MySQL Cluster

已經忘了當初實際建置的過程
只記得當初的參考文件在這裡
有需要的可以再去看一下

目前利用5台vm的centos來建置mysql cluster
分別為
mysql 1 (Management node)、192.168.55.21
mysql 2 (SQL node)、192.168.55.22
mysql 3 (SQL node)、192.168.55.23
mysql 4 (Data node)、192.168.55.24
mysql 5 (Data node)、192.168.55.25

在 mysql 1 上的設定檔 /var/lib/mysql-cluster/config.ini 之內容為
[ndbd default]
NoOfReplicas=2 #定義了兩個db節點為一組,每個組只要有一個節點能連上,就不會影響整個cluster
DataMemory=2048M #定義DataMemory的大小為2048M
IndexMemory=640M #定義IndexMemory的大小為640M
MaxNoOfTables=2048
MaxNoOfAttributes=4096
MaxNoOfConcurrentOperations=100000
MaxNoOfLocalOperations=110000
datadir=/var/lib/mysql-cluster
[tcp default]
portnumber=2202
[ndb_mgmd] # 管理node
hostname=192.168.55.21
datadir=/var/lib/mysql-cluster
[ndbd] # Data node
hostname=192.168.55.24
DataMemory=2048M
[ndbd] # Data node
hostname=192.168.55.25
DataMemory=2048M
[mysqld] # SQL node
hostname=192.168.55.22
[mysqld] # SQL node
hostname=192.168.55.23

另外也需在 /etc/my.cnf 設定
[mysqld]
ndbcluster # run NDB storage engine
ndb-connectstring=192.168.55.21


[mysql_cluster]
ndb-connectstring=192.168.55.21

並同時要確保 2202 的port是否有開啟,因為都是內網,就乾脆都不關了

在mysql cluster Management上面可以執行下列指令
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
啟動mysql cluster

ndb_mgm -e shutdown
關閉mysql cluster

ndb_mgm -e show
秀出目前mysql cluster成員間的連線狀態

ndb_size.pl --database=radius --hostname=192.168.55.22 --user=cowman --password=123456 --socket=/tmp/mysql.sock >> mysql_ndb.html
將mysql cluster詳細資訊產生至mysql_ndb.html

當發現有問題時,大致上都會先show一下看連線狀態資訊
如果都正常,那應該就是資料庫又爆了
就會去檢查相關的服務log資訊

如果發現異常
那先記得下關閉的指令
且要到每一個node去把cluster執行的指令都給強制停止
接著在照開始的順序一一打開

開始的順序為
先啟動 Management Node
ndb_mgmd -f /var/lib/mysql-cluster/config.ini

接著啟動Data Node
ndbd

接著啟動SQL Node
service mysql start

然後在show看看有沒有正常連線

This entry was posted in MySQL. Bookmark the permalink.