MySQL叢集安裝與配置

來源:互聯網
上載者:User

標籤:mysql cluster 資料庫 叢集

    MySQL Cluster 是一種技術,該技術允許在無共用的系統中部署“記憶體中”資料庫的 Cluster 。通過無共用體繫結構,系統能夠使用廉價的硬體,而且對軟硬體無特殊要求。此外,由於每個組件有自己的記憶體和磁碟,不存在單點故障。

MySQL Cluster 由一組電腦構成,每台電腦上均運行著多種進程,包括MySQL伺服器,NDB Cluster 的資料節點,管理伺服器,以及(可能)專門的資料訪問程式。

    “NDB” 是一種“記憶體中”的儲存引擎,它具有可用性高和資料一致性好的特點。

下面我們簡單介紹MySQL Cluster如何安裝與配置:

基本設定
管理(MGM)節點:192.168.1.235
MySQL伺服器(SQL)節點:192.168.1.236
資料(NDBD)節點"A":192.168.1.237
資料(NDBD)節點"B":192.168.1.238


一、mysql叢集安裝

mysql的叢集安裝可以有三種方式,一是直接下載二進位使用,二是使用rpm安裝,三是源碼編譯。我們這裡使用第二種安裝。

1.1、每個節點做相同的操作

rpm -qa | grep mysql    //查詢系統已安裝的mysql程式包;

rpm -e XXX --nodeps    //XXX 為上面尋找出來的所有程式包;

yum -y install libaio libaio-devel    // 安裝IO程式開發包;

cd /usr/local/src/    //進入使用者src目錄,你也可以自行選擇;

wget http://cdn.mysql.com/Downloads/MySQL-Cluster-7.3/MySQL-Cluster-gpl-7.3.7-1.el6.i686.rpm-bundle.tar    //下載mysql cluster 32位安裝包;

tar xvf MySQL-Cluster-gpl-7.3.7-1.el6.i686.rpm-bundle.tar    // 解壓下載好的安裝包;

mkdir -p /var/lib/mysql/data

mkdir -p /var/run/mysqld

chmod -R 1777 /var/lib/mysql

chmod -R 1777 /var/run/mysqld

rpm -ivh MySQL-Cluster-server-gpl-7.3.7-1.el6.i686.rpm    //安裝完,會有提示root的密碼存放在/roo/.mysql_secret檔案;

rpm -ivh MySQL-Cluster-client-gpl-7.3.7-1.el6.i686.rpm

建立一個檔案 vi /etc/my.cnf ,內容如下:

-------------------------------------------

[client]

socket=/var/lib/mysql/mysql.sock

[mysqld]

max_connections=100 

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

ndbcluster

ndb-connectstring=192.168.1.235

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[mysql_cluster] 

ndb-connectstring=192.168.1.235

-------------------------------------------

1.2、組態管理節點

mkdir -p /var/lib/mysql-cluster

cd /var/lib/mysql-cluster

touch config.ini

vim config.ini ,內容如下:

--------------------------------------

[ndb_mgmd default]

DataDir=/var/lib/mysql-cluster

[ndb_mgmd]

HostName=192.168.1.235

[ndbd default]

NoOfReplicas=2

DataMemory=100M

IndexMemory=10M

[ndbd]

HostName=192.168.1.237

DataDir=/var/lib/mysql

[ndbd]

HostName=192.168.1.238

DataDir=/var/lib/mysql

[mysqld]

HostName=192.168.1.236

--------------------------------------

二、啟動各節點

注意:節點的啟動順序為管理節點->資料節點->SQL節點

2.1、啟動管理節點

/ndb_mgmd -f /var/lib/mysql-cluster/config.ini


2.2、啟動資料節點
初次開機需要--initial參數初始化,下一次啟動就不需要了

ndbd --initial


2.3、啟動SQL節點

mysqld_safe  &


2.4、檢查狀態
如果一切正常,在管理節點執行命令 ndb_mgm -e show應該會輸出類似資訊:


[[email protected] mysql-cluster]# ndb_mgm -e show

Connected to Management Server at: 192.168.1.235:1186

Cluster Configuration

---------------------

[ndbd(NDB)]     2 node(s)

id=2    @192.168.1.237  (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0, *)

id=3    @192.168.1.238  (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0)


[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.1.235  (mysql-5.6.21 ndb-7.3.7)


[mysqld(API)]   1 node(s)

id=4    @192.168.1.236  (mysql-5.6.21 ndb-7.3.7)


2.5、測試SQL服務資料庫是否正常

在SQL節點上執行如下資料庫操作:

# mysql -uroot -p    //輸入/root/.mysql_secret 檔案裡的密碼;

mysql> set password password(‘xxxxxx‘);    //首次進入資料庫,必須先更改root密碼;

mysql> create database clusterdb;use clusterdb;

mysql> create table simples (id int not null primary key) engine=ndb;

mysql> insert into simples values (1),(2),(3),(4);

mysql> select * from simples;

如果出現:
+----+
| id |
+----+
| 1 |
| 2 |
| 4 |
| 3 |
+----+
則表示工作正常。

三、安全關閉和重啟各節點

3.1、關閉mysql叢集,可在管理節點在執行如下命令:

# ndb_mgm -e shutdown

3.2、重啟管理節點

# ndb_mgmd -f /var/lib/mysql-cluster/config.ini

3.3、重啟資料節點

# ndbd


本文出自 “方寸小山” 部落格,請務必保留此出處http://63638790.blog.51cto.com/513514/1574049

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.