標籤:搭建mysql叢集
一、搭建mysql叢集
叢集/群集:一組伺服器提供相同的服務
***以下方面只適用於ndbcluster儲存引擎,其它類型請繞行!!!!!***
1.mysql叢集中伺服器的角色
資料節點 (ndbd):儲存表裡的資料
SQL節點(sql):使用者訪問資料的介面、執行sql語句,不儲存資料
管理節點(mgmd):管理叢集中的所有主機
用戶端 (client):訪問資料
大致拓撲圖:
client(172.30.13.X)
mgm 193
sql sql ndbd ndbd
191 192 8 9
2.流程思路:
(1).在所有主機上安裝提供機MySQL叢集服務的軟體包
(2).給每種角色的主機編寫對應的設定檔 config.ini my.cnf
3、在所有伺服器上卸載mysql資料庫服務軟體,這裡需要安裝一個專用的mysql軟體,主要目的是為了避免軟體衝突
service mysql stop
rpm -qa | grep -i mysql
rpm -e --nodeps MySQL-server MySQL-shared MySQL-shared-compat MySQL-embedded
MySQL-client MySQL-devel MySQL-test
rm -rf /etc/my.cnf
ls /var/lib/mysql/
rm /var/lib/mysql/*
4、在所有伺服器上安裝提供叢集服務的軟體包
MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tar
ndbd進程 (ndbd節點) mysql服務(sql節點) mgmd進程(管理節點)
tar -xvf MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tar
rpm -Uvh MySQL-Cluster-*.rpm
rpm -qa | grep -i "mysql-cluster"
5、組態管理節點 ( 193 )
管理叢集中的所有主機,運行管理進程,這裡需要在管理節點伺服器建立一個config.ini檔案,裡面定義了設定主機的角色和運行參數;
(啟動管理進程時載入自己的配置config.ini)
[ndbd default] 資料節點公用配置
[ndb_mgmd] 設定管理主機
[ndbd] 指定資料節點主機
[mysqld] 指定sql節點
vim /etc/config.ini
[ndbd default]
NoOfReplicas=2 //資料節點伺服器個數
DataMemory=80M //資料緩衝
IndexMemory=18M
[ndb_mgmd]
nodeid=1 //管理節點編號,範圍1-50
hostname=172.30.13.193
datadir=/var/log/mysql-cluster //管理資訊存放目錄
[ndbd]
nodeid=8
hostname=172.30.13.8
datadir=/var/log/mysql-cluster/data //在資料節點上建立
[ndbd]
nodeid=9
hostname=172.30.13.9
datadir=/var/log/mysql-cluster/data
[mysqld]
nodeid=20
hostname=172.30.13. 191
[mysqld]
nodeid=30
hostname=172.30.13.192
mkdir -p /var/log/mysql-cluster
6、配置資料節點(8 、9)
(運行ndbd進程 /etc/my.cnf)
mkdir -p /var/log/mysql-cluster/data
vim /etc/my.cnf
[mysqld]
datadir=/var/log/mysql-cluster/data
ndb-connectstring=172.30.13.193 //管理主機ip
ndbcluster //儲存引擎
[mysql_cluster]
ndb-connectstring=172.30.13.193 //誰來管理叢集
7、配置 sql 節點 (191、192)
(運行資料庫服務 /etc/my.cnf)
vim /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring=172.30.13.193 //指定管理主機
default-storage-engine=ndbcluster
[mysql_cluster]
ndb-connectstring=172.30.13.193
8、啟動每種角色主機上對應的進程
(1 啟動管理主機上的管理進程
ndb_mgmd -f /etc/config.ini
netstat -utnlap | grep :1186
ndb_mgm 登陸管理介面ndbcluster
(2 啟動資料節點上的資料進程
[[email protected] data]# ndbd
2014-11-11 22:38:55 [ndbd] INFO -- Angel connected to ‘172.30.13.193:1186‘
2014-11-11 22:38:55 [ndbd] INFO -- Angel allocated nodeid: 8
(3 、啟動sql 節點上的MySQL服務
service mysql start
(4、在sql節點上設定授權,在其它用戶端驗證
cat /root/.mysql_secret
mysql -uroot -pxxxxx
mysql>grant all on *.* to [email protected]"%" identified by "123";
9、在管理節點上查看所有主機的狀態
ndb_mgm
show
(如果出現如下內容,則實驗成功)
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=28 @192.168.5.28 (mysql-5.6.14 ndb-7.3.3, Nodegroup: 0, *)
id=29 @192.168.5.29 (mysql-5.6.14 ndb-7.3.3, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.5.25 (mysql-5.6.14 ndb-7.3.3)
[mysqld(API)] 2 node(s)
id=26 @192.168.5.26 (mysql-5.6.14 ndb-7.3.3)
id=27 @192.168.5.27 (mysql-5.6.14 ndb-7.3.3)
本文出自 “劉福” 部落格,請務必保留此出處http://liufu1103.blog.51cto.com/9120722/1656836
搭建mysql叢集