MySQL同步叢集

來源:互聯網
上載者:User

標籤:mysql 同步叢集

MySQL-Cluster7.2.5安裝和配置

查看文章索引請通過http://www.cnblogs.com/seesea125/archive/2012/04/17/2453256.html
下面介紹一下MySQL-Cluster7.2.5安裝和配置,按照此步驟本人已配置成功,如有疑問請聯絡我
環境:
一台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
二 下載後解壓
先設定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
#useradd -s /bin/nologin mysql  //添加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:mysql data //把data目錄設定所有者為mysql
#chgrp –R mysql . //改成所屬組為mysql
#cp support-file/my-medium.cnf /etc/my.cnf  //複製主設定檔
#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
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 
[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)
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,也能看到資料已經同步。

本文出自 “咚咚的部落格” 部落格,轉載請與作者聯絡!

MySQL同步叢集

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.