? ? ? ? 首先簡單介紹一下MySql Cluster,MySQL 集群是一個可擴展、高性能、集群化數據庫產品。最初用于對使用要求最為最
苛刻的電信行業。電信應用要求數據庫的可用性超過 99.999%。
?
? ? ? ?MySQL 集群由三類節點組成:
?
- 數據節點(Data Nodes)存儲所有屬于 MySQL 集群的數據。
- 管理服務器節點(Management Server Nodes) 控制系統啟動時的初始配置。
- MySQL 服務器節點(MySQL Server Nodes) 用于存取集群數據節點上的數據,為軟件開發人員提供了一個標準 SQL 語言編程接口。
下面配置一個由一個管理節點、二個MySQL服務器節點和二個數據節點組成的集群,拓撲圖如下:
?
#下載MySQL Cluster 7
shell> wget http://cdn.mysql.com/Downloads/MySQL-Cluster-7.0/mysql-cluster-gpl-7.0.35-linux-i686-glibc23.tar.gz
#在三臺主機上添加mysql用戶與組
shell> groupadd mysql
shell> useradd -g mysql mysql
#解壓到/usr/local 建立連接
shell> tar -C /usr/local -zxvf mysql-cluster-gpl-7.0.35-linux-i686-glibc23.tar.gz
shell> ln -s /usr/local/mysql-cluster-gpl-7.0.35-linux-i686-glibc23?/usr/local/mysql
#進入mysql目錄,運行所提供的用于創建系統數據庫的腳本(默認配置/etc/my.cnf)
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql?
#設置目錄權限
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
配置管理節點
#創建目錄
shell> mkdir /usr/local/mysql-cluster
shell> cd /usr/local/mysql-cluster
shell> mkdir data
shell> cd ..
#創建集群配置文件config.ini
shell> vim config.ini
[NDBD DEFAULT] NoOfReplicas: 2 DataDir: /usr/local/mysql-ndb/data # Data Memory, Index Memory, and String Memory DataMemory: 128M IndexMemory: 64M BackupMemory: 32M [MGM DEFAULT] PortNumber: 1186 DataDir: /usr/local/mysql-cluster/data [NDB_MGMD] Id: 1 HostName: 192.168.66.170 ArbitrationRank: 1 [NDBD] Id: 2 HostName: 192.168.66.171 [NDBD] Id: 3 HostName: 192.168.66.172 [API] Id: 4 HostName: 192.168.66.171 ArbitrationRank: 2 BatchByteSize:64KB [API] Id: 5 HostName: 192.168.66.172 BatchByteSize:64KB [API] Id: 6 [API] Id: 7
??
配置數據節點與MySQLD節點
#分別在171和172主機上創建目錄
shell> mkdir -p?/usr/local/mysql-ndb/data
#創建數據節點配置文件
shell> vim /usr/local/mysql-ndb/my.cnf
[MYSQLD] ndbcluster # run NDB engine ndb-connectstring=192.168.66.170 # location of MGM node # Options for ndbd process: [MYSQL_CLUSTER] ndb-connectstring=192.168.66.170 # location of MGM node
配置MySQLD節點
#分別修改171和172主機mysqld默認配置文件,追加以下內容
shell> vim /etc/my.cnf?
[mysqld] ndbcluster # run NDB engine ndb-connectstring=192.168.66.170 # location of MGM node [MYSQL_CLUSTER] ndb-connectstring=192.168.66.170 # location of MGM node
?
啟動集群
#啟動集群管理節點
shell> ndb_mgmd -f /usr/local/mysql-cluster/config.ini
或
shell> ndb_mgmd -f /usr/local/mysql-cluster/config.ini --initial
--initial 此參數在修改config.ini文件后使用
#啟動數據節點
shell>?ndbd --defaults-file=/usr/local/mysql-ndb/my.cnf --initial
--initial 首次啟動數據節點使用
#啟動MySQLD節點
shell>?mysqld_safe &
查看集群狀態
#登錄管理節點
shell>?ndb_mgm
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]
2 node(s)
id=2
@192.168.66.171 ?(mysql-5.1.63 ndb-7.0.35, Nodegroup: 0, Master)
id=3
@192.168.66.172 ?(mysql-5.1.63 ndb-7.0.35, Nodegroup: 0)
[ndb_mgmd(MGM)]
1 node(s)
id=1
@192.168.66.170 ?(mysql-5.1.63 ndb-7.0.35)
[mysqld(API)]
4 node(s)
id=4
@192.168.66.171 ?(mysql-5.1.63 ndb-7.0.35)
id=5
@192.168.66.172 ?(mysql-5.1.63 ndb-7.0.35)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)
環境搭建成功,具體集群中的詳細配置參數請查看MySQL手冊。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
