Mysql集羣安裝指導

一、檢查環境

1.檢查系統是否裝載了mysql 

使用命令rpm -qa|grep -i mysql

如果有顯示全部卸載,如果沒有說明沒有安裝mysql,有的話則刪除 .

使用命令:rpm -e ****** 或者 yum -y remove *****

2.刪除my.cnf

使用命令rm fr /etc/my.cnf

二、部署安裝(管理節點和數據節點同樣操作)

1.添加用戶組及用戶

shell> groupadd mysql
shell> useradd mysql -g mysql
2.解壓安裝包

shell> mv mysql-cluster-gpl-***-linux2.6-x86_64.tar.gz /usr/local/
shell> cd /usr/local/
shell> tar zxvf mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz /usr/local/
shell> mv mysql-cluster-gpl-7.2.6-linux2.6-x86_64 mysql
shell> chown -R mysql:mysql mysql
shell> cd mysql

3.帶參數安裝
shell> scripts/mysql_install_db --user=mysql 

       --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

4.複製啓動的快捷方式

拷貝ndb_mgm ndb_mgmd 文件到 /usr/local/bin/

cp -fr /usr/local/mysql/bin/ndb_mgm* /usr/local/bin/

【管理節點配置

a.創建mysql-cluster文件夾

mkdir /var/lib/mysql-cluster

b.創建 config.ini文件

vi /var/lib/mysql-cluster/config.ini

文件內容

[NDBD DEFAULT]  

NoOfReplicas: 1  #定義在Cluster環境中相同數據的份數 最大爲4

# Data Memory, Index Memory, and String Memory #

DataMemory: 500M   #分配的數據內存大小

IndexMemory: 250M   #設定用於存放索引(非主鍵)數據的內存段大小

MaxNoOfAttributes: 20480   #類似於總體設置,大一些好,不數據量時容易報錯

MaxNoOfTables: 1024

MaxNoOfOrderedIndexes: 2048

MaxNoOfUniqueHashIndexes: 512

MaxNoOfTriggers: 10240

[MGM DEFAULT]

PortNumber: 1186  #管理節點端口

[NDB_MGMD]    #管理節點IP配置datadir值必須是真實存在的,不然啓動報錯 

Nodeid=1   

hostname=192.168.1.77   

datadir=/var/lib/mysql-cluster/

[NDBD]   #數據節點1

Nodeid=2

hostname=192.168.1.78

datadir=/usr/local/mysql/data

[NDBD]  #數據節點2

Nodeid=3

hostname=192.168.1.79

datadir=/usr/local/mysql/data

[MYSQLD] #SQL節點1

hostname=192.168.1.77  

[MYSQLD] #SQL節點2

hostname=192.168.1.77  

[MYSQLD] #預留節點以備擴展使用,否則會出現Failed to allocate nodeid No free node id found for ndbd(NDB)錯誤

保存退出

c.創建my.cnf文件

vi /etc/my.cnf

[MYSQLD]  

character_set_server=utf8  

ndbcluster   #運行NDB存儲引擎

ndb-connectstring=192.168.1.77  #mysql數據庫所在地址

datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

port=3306

lower_case_table_names=1  #表名是否區分大小寫 1爲不區分,不然linux下表名是區分大小寫的

[MYSQL_CLUSTER]

ndb-connectstring=192.168.1.77  #mysql cluster 管理節點IP

保存退出

【數據節點配置】

a.創建my.cnf文件 

[MYSQLD]  

character_set_server=utf8  

ndbcluster   #運行NDB存儲引擎

ndb-connectstring=192.168.1.78  #mysql數據庫所在地址

datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

port=3306

lower_case_table_names=1  #表名是否區分大小寫 1爲不區分,不然linux下表名是區分大小寫的

[MYSQL_CLUSTER]

ndb-connectstring=192.168.1.77  #mysql cluster 管理節點IP

保存退出

三、安裝後調試準備

1.把服務器的防火牆(IPTABLES)與 selinux關閉

service iptables stop

vi /etc/selinux/config  (改爲SELINUX=disabled)保存退出

2.reboot兩臺機器

由於不是從系統啓動方面停止的防火牆(IPTABLES)

所以再停止一次防火牆(IPTABLES)

service iptables stop

四、啓動

啓動順序管理節點 à  數據節點 à SQL節點

關閉順序SQL節點à  數據節點 à 管理節點

1.動管理節點服務
shell> /usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
shell> netstat -lntpu
看到1186開放說明啓動正常


2.啓動數據節點服務 Data (NDBD) node
shell> /usr/local/mysql/bin/ndbd --initial

在兩臺機器上啓動服務, 執行相同操作
必須注意:只是在第一次啓動或在備份/恢復或配置變化後重啓ndbd時,才加initial參數!

啓動結果如下:
2012-06-30 05:01:11 [ndbd] INFO -- Angel connected to '192.168.6.134:1186'
2012-06-30 05:01:11 [ndbd] INFO -- Angel allocated nodeid

操作命令節點狀態、客戶端狀態查看 ndb_mgm -e show

停止管理節點與數據節點 ndb_mgm e shutdown 

五、測試功能是否安裝成功

  在其中一個數據庫中建立數據庫和表,並插入數據。然後在另外的數據庫中查看是否有數據。

例如:create table test1(id int) engine=ndbcluster ;

此處engine必須爲ndbcluster 不然集羣時導入數據易丟失,而且建立表的字段時必須有主鍵,不然cluster會默認爲你添加主鍵,耗費無限的內存,導致系統崩潰(此處爲測試表,沒有主鍵,請諒解)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章