程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL-Cluster7.2.5安裝和配置

MySQL-Cluster7.2.5安裝和配置

編輯:MySQL綜合教程


環境: 一台10.32.33.120 做一個數據節點,SQL節點,管理節點 一台 10.32.34.116 做一個數據節點,SQL節點。 操作系統都是 CentOS5.4 64位。
一 下載MySql Cluster7.2.5 http://www.mysql.com/downloads/cluster/ 注:如果已經存在MySql,需要先刪除,方法: 如果能聯網 yum remove mysql 否則手動刪除mysql 先看看都安裝了什麼包: # rpm -qa|grep MySQL 然後把這些包都卸載掉 rpm -e MySQL-server-5.5.21-1.linux2.6 rpm -e MySQL-client-5.5.20-1.linux2.6 二 下載後解壓 www.2cto.com 先設置10.32.33.120,把MySql Cluster下載到/downfiles下 #cd downfiles #tar –zxvf mysql-cluster-gpl-7.2.5-linux2.6-x86_64.tar.gz //解壓 三 把解壓後的文件拷貝到/usr/local下,名字為mysql #cp /downfiles/mysql-cluster-gpl-7.2.5-linux2.6-x86_64 /usr/local/mysql #cd /usr/local/mysql # chown –R root . //把mysql的目錄設置成所有者為root #chown –R mysql /data //把data目錄設置所有者為mysql #chgrp –R mysql . //改成所屬組為mysql #cd scripts/ #mysql_install_db –user=mysql 這句就是安裝了 四 設置mysql服務為開機自啟動 #chmod +x /etc/rc.d/init.d/mysqld //給這個文件賦予可修改權限 #chkconfig --add mysqld // chkconfig命令主要用來更新(啟動或停止)和查詢系統服務的運行級信息,chkconfig --add name:增加一項新的服務 此時還不能開機自啟,還需要設置環境變量 #vi /etc/profile 最後面加上兩句 PATH=$PATH:/usr/local/mysql/bin export PATH 以上操作在兩台服務器上做同樣操作。 五:配置 1、配置管理節點 拷貝/usr/local/mysql/bin/ndb_mgm,ndb_mgmd兩個文件到/usr/local/bin #cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin #mkdir /var/lib/mysql-cluster #vim /var/lib/mysql-cluster/config.ini 輸入下面內容: [ndbd default] NoOfReplicas=1 #每個數據節點的鏡像數量 DataMemory=200M  #每個數據節點中給數據分配的內存 IndexMemory=20M #每個數據節點中給索引分配的內存 [ndb_mgmd]  #配置管理節點 NodeId=1 www.2cto.com hostname=10.32.34.116 datadir=/var/lib/mysql-cluster/ #管理節點數據(日志)目錄 [ndbd]  #數據節點配置 NodeId=2 hostname=10.32.33.120 datadir=/usr/local/mysql/data/  #數據節點目錄 [ndbd] NodeId=3 hostname=10.32.34.116 datadir=/usr/local/mysql/data/ [mysqld] hostname=10.32.33.120 [mysqld] hostname=10.32.34.116 [mysqld] #一定要留一個空的,以備擴展使用,否則會出現Failed to allocate nodeid No free node id found for ndbd(NDB)錯誤 [mysqld] 注:配置時,[]右邊的注釋不要加上,否則系統不認。 [NDBD DEFAULT]:表示每個數據節點的默認配置在每個節點的[NDBD]中不用再寫這些選項,只能有一個。 [NDB_MGMD]:表示管理節點的配置,只有一個。 [NDBD]:表示每個數據節點的配置,可以有多個。 [MYSQLD]:表示SQL節點的配置,可以有多個,分別寫上不同SQL節點的IP地址。 2、配置數據節點和SQL節點 mysql服務啟動時會默認加載/etc/my.cnf作為其配置文件,修改10.32.33.120上的my.cnf [mysqld] ndbcluster #運行NDB存儲引擎 datadir=/usr/local/mysql/data basedir=/usr/local/mysql port=3306 www.2cto.com [mysql_cluster] ndb-connectstring=10.32.34.116 #聲明管理節點 拷貝一份到另一台10.32.34.116 #scp /etc/my.cnf 10.32.34.116:/etc/ 六 啟動 節點的啟動順序為管理節點->數據節點->SQL節點。 1、120上啟動管理節點 #cd /usr/local/bin # ./ndb_mgmd -f /var/lib/mysql-cluster/config.ini // ndb_mgmd是mysqlcluster的管理服務器,後面的-f表示後面的參數是啟動的參數配置文件。如果在啟動後過了幾天又添加了一個數據節點,這時修改了配置文件啟動時就必須加上--initial參數,不然添加的節點不會作用在mysql cluster中 2、啟動數據節點 安裝後第一次啟動數據節點時要加上--initial參數,其它時候不要加,除非是在備份、恢復或配置變化後重啟時 #cd /var/local/mysql/bin/ndbd –initial 2012-03-28 02:01:38 [ndbd] INFO -- Angel connected to '10.32.33.120:1186' 2012-03-28 02:01:38 [ndbd] INFO -- Angel allocated nodeid: 36 出現這種信息表示啟動成功. 3、啟動SQL節點 #mysqld_safe --ndb_nodeid=5 --user=mysql & 同樣方法,啟動另外一個機器,注意nodeid的編號。 4、客戶端查看 #cd /usr/local/bin #.ndb_mgm ndb_mgm> show ndb_mgm> show Cluster Configuration --------------------- ndb_mgm> show Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @10.32.33.120 (mysql-5.5.20 ndb-7.2.5, Nodegroup: 0, Master) id=3 @10.32.34.116 (mysql-5.5.20 ndb-7.2.5, Nodegroup: 1) [ndb_mgmd(MGM)] 1 node(s) www.2cto.com id=1 @10.32.34.116 (mysql-5.5.20 ndb-7.2.5) [mysqld(API)] 4 node(s) id=4 @10.32.33.120 (mysql-5.5.20 ndb-7.2.5) id=5 @10.32.34.116 (mysql-5.5.20 ndb-7.2.5) id=6 (not connected, accepting connect from any host) id=7 (not connected, accepting connect from any host) 可以看到各個節點已經連接上了, mysql cluster配置完成. 如果看不到上述信息,可能是防火牆問題,你可以選擇把CentOS的防火牆關掉,命令為:/etc/init.d/iptables stop 管理節點關閉,在ndb_mgm>提示符下輸入shutdown,再輸入exit即可退出。 7 測試。 1、從SQL節點A登錄,創建數據庫和表,進行簡單測試。 mysql> create database zxztest ; mysql> use zxztest; Database changed mysql> create table test1(id int,name varchar(10)) engine=ndb ; mysql> insert into test1 values(1,'zhaoxuezhi'); mysql> select * from test1 ; +------+---------+ | id   | name    | +------+---------+ |    1 | zhaoxuezhi |  +------+---------+ 登陸B節點,查看效果,庫,表和數據已經同步。 從B節點插入一條數據,同樣登陸A,也能看到數據已經同步。         作者 趙學智

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved