MySQL Cluster研究(1)
MySQL-Cluster-client-gpl-7.2.13-1.el6.x86_64.rpm
MySQL-Cluster-server-gpl-7.2.13-1.el6.x86_64.rpm
1、管理節點
管理節點需要ndb_mgm和ndb_mgmd,這兩個程式在server包中,所以管理節點只需安裝server的RPM包。
[root@mysql-mgm ~]# rpm -Uhv --force MySQL-Cluster-server-gpl-7.2.13-1.el6.x86_64.rpm
--force是強制安裝,如果不加不能安裝,因為系統有些MySQL的檔案,造成衝突。
2、資料節點
由於需要ndbd程式,它也在server包中,所以也只需安裝server的RPM包。
[root@mysql-d2 ~]# rpm -Uhv --force MySQL-Cluster-server-gpl-7.2.13-1.el6.x86_64.rpm
3、SQL節點
由於它負責訪問,所以server和client都要安裝
[root@mysql-s2
~]# rpm -Uhv --force MySQL-Cluster-server-gpl-7.2.13-1.el6.x86_64.rpm
[root@mysql-s2
~]# rpm -Uhv --force MySQL-Cluster-client-gpl-7.2.13-1.el6.x86_64.rpm
三、配置
1、管理節點配置過程
[root@mysql-mgm
~]# mkdir /var/lib/mysql-cluster
[root@mysql-mgm
~]# cd /usr/share/mysql/
[root@mysql-mgm
~]# cp config.small.ini /var/lib/mysql-cluster/config.ini
[root@mysql-mgm
~]# cd /var/lib/mysql-cluster
[root@mysql-mgm
~]# vi config.ini
config.ini檔案的內容參考如下:
[NDBD
DEFAULT]
NoOfReplicas:
2 #副本數量
DataMemory:
100M #資料記憶體大小
IndexMemory:
80M #索引記憶體大小
[MGM
DEFAULT]
PortNumber:
1186 #預設監聽埠
[NDB_MGMD]
HostName:
192.168.36.100 #管理節點IP
DataDir:
/var/lib/mysql-cluster
ArbitrationRank:
1
[NDBD]
HostName:
192.168.36.101 #資料節點IP
DataDir:
/usr/share/mysql/data
[NDBD]
HostName:
192.168.36.102
DataDir:
/usr/share/mysql/data #注意在資料節點上建立此目錄
[API]
HostName:
192.168.36.103 #SQL節點IP
ArbitrationRank:
2
[API] #這些是為SQL節點預留,
#可以動態加入SQL節點
2、資料節點配置
[root@mysql-d2
~]# cd /usr/share/mysql/
[root@mysql-d2
~]# mv /etc/my.cnf /etc/my.cnf.bak
[root@mysql-d2
~]# cp my-small.cnf /etc/my.cnf
[root@mysql-d2
~]# vi /etc/my.cnf
檔案內容參考如下:(重點是紅色部分)
[mysqld]
ndbcluster
[mysql_cluster]
ndb-connectstring = 192.168.36.100
3、SQL節點部署
官方文件說直接啟動系統配置好的mysql即可,但是啟動後,管理節點監控不到,所以按照如下配置,可以連入叢集。
首先/etc/my.cnf檔案,注意紅色字型部分。
[mysqld]
ndbcluster
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#
Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysql_cluster]
ndb-connectstring = 192.168.36.100
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
然後,按照下面步驟執行。
[root@mysql-s2
~]# mkdir /var/run/mysqld
[root@mysql-s2
~]# chown -R mysql:mysql /var/run/mysqld/
啟動是有順序的:管理節點》》資料節點》》SQL節點。
1、管理節點
自己寫個指令碼,方便啟動,執行這個指令碼即可。
[root@mysql-mgm ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini
2、資料節點
[root@mysql-d2 ~]# ndbd --initial
第一次節點啟動使用該引數,還有就是備份、恢復後的啟動使用這個引數。
一般啟動如下:
[root@mysql-d2 ~]# ndbd
3、SQL節點
[root@mysql-s2
~]# /usr/bin/mysqld_safe
131016
19:32:35 mysqld_safe Logging to '/var/log/mysqld.log'.
131016
19:32:35 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
4、檢視部署結果
[root@mysql-mgm
~]# ndb_mgm
--
NDB Cluster -- Management Client --
ndb_mgm>
show
Connected
to Management Server at: localhost:1186
Cluster
Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.36.101 (mysql-5.5.31 ndb-7.2.13, Nodegroup: 0,
Master)
id=3 @192.168.36.102 (mysql-5.5.31 ndb-7.2.13, Nodegroup: 0)
[ndb_mgmd(MGM)]
1 node(s)
id=1 @192.168.36.100 (mysql-5.5.31 ndb-7.2.13)
[mysqld(API)] 6 node(s)
id=4 @192.168.36.103 (mysql-5.5.31 ndb-7.2.13)·
id=5 @192.168.36.104 (mysql-5.5.31 ndb-7.2.13)
部署可用性測試
1、在SQL節點1上執行。
2 使用客戶端進行mysql。
[root@mysql-s1
~]# mysql -uroot
Welcome
to the MySQL monitor. Commands end with
; or \g.
Your MySQL connection id is 3
Server
version: 5.5.31-ndb-7.2.13-cluster-gpl MySQL Cluster Community Server (GPL)
Copyright
(c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle
is a registered trademark of Oracle Corporation and/or its
affiliates.
Other names may be trademarks of their respective
owners.
Type
'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
2 檢視資料庫。
mysql>
show databases;
+--------------------+
|
Database |
+--------------------+
|
information_schema |
|
ctest |
|
mysql |
|
ndbinfo |
|
performance_schema |
|
test |
+--------------------+
6
rows in set (0.00 sec)
2 開啟資料庫
mysql>
use ctest
Database
changed
2 建立測試表,注意紅色字必須加,否則無法使用NDB儲存。
mysql>
create table test(count int) engine=NDBCLUSTER;
Query
OK, 0 rows affected (0.53 sec)
2 插入測試資料
mysql>
insert into test values(10);
Query
OK, 1 row affected (0.22 sec)
mysql>
select * from test;
+-------+
|
count |
+-------+
| 10 |
+-------+
1
row in set (0.95 sec)
2、在SQL節點2執行。
2 進入mysql
[root@mysql-s2
~]# mysql -uroot
Welcome
to the MySQL monitor. Commands end with
; or \g.
Your
MySQL connection id is 2
Server
version: 5.5.31-ndb-7.2.13-cluster-gpl MySQL Cluster Community Server (GPL)
Copyright
(c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle
is a registered trademark of Oracle Corporation and/or its
affiliates.
Other names may be trademarks of their respective
owners.
Type
'help;' or '\h' for help. Type '\c' to clear the current input statement.
2 檢視資料庫資訊
mysql>
show databases;
+--------------------+
|
Database |
+--------------------+
|
information_schema |
|
mysql |
|
ndbinfo |
|
performance_schema |
|
test |
+--------------------+
5
rows in set (0.06 sec)
2 SQL節點2第一次訪問叢集,資料庫列表中沒有要訪問的資料庫,需要執行下面命令。
mysql>
create database ctest;
Query
OK, 1 row affected (0.12 sec)
mysql>
use ctest
Reading
table information for completion of table and column names
You
can turn off this feature to get a quicker startup with -A
開啟資料庫時,與資料節點同步。
Database
changed
2 查詢,可以看到在SQL節點1上的操作結果。說明資料儲存在資料節點中了。
mysql>
select * from test;
+-------+
|
count |
+-------+
| 10 |
+-------+
1
row in set (0.02 sec)
2 在該SQL節點做插入操作。
mysql>
insert into test values (1);
Query
OK, 1 row affected (0.04 sec)
mysql>
select * from test;
+-------+
|
count |
+-------+
| 10 |
| 1 |
+-------+
2
rows in set (0.00 sec)
3、在SQL節點1上,檢視在SQL節點2的運算元據。
mysql>
select * from test;
+-------+
|
count |
+-------+
| 1 |
| 10 |
+-------+
2
rows in set (0.25 sec)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26812308/viewspace-774792/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 1. MySQL Galera Cluster全解析 Part 1 Galera Cluster 簡介MySql
- MySQL ClusterMySql
- Cluster for MySQLMySql
- MySQL-ClusterMySql
- MySQL Cluster安裝MySql
- MySQL Cluster相關MySql
- mysql安裝-clusterMySql
- mysql cluster 簡單配置MySql
- MySQL Cluster 配置檔案MySql
- MySQL CLUSTER(叢集)系列MySql
- MySQL NDB Cluster,Galera Cluster和Percona XtraDB Cluster優缺點總結MySql
- MySQL深入研究--學習總結(1)MySql
- Mysql-cluster小專案MySql
- MySQL Innodb Cluster搭建與初探MySql
- MySQL高可用之GC-Galera Cluster for MySQLMySqlGC
- 9. MySQL Galera Cluster全解析 Part 9 監控Galera ClusterMySql
- 7. MySQL Galera Cluster全解析 Part 7 Galera Cluster部署指南MySql
- 8. MySQL Galera Cluster全解析 Part 8 Galera Cluster和傳統MySQL的不同點MySql
- MySQL Cluster install on Redhat7MySqlRedhat
- MySQL cluster 7.2叢集部署配置MySql
- mysql cluster 一臺server安裝MySqlServer
- mysql_cluster體系結構MySql
- mysql-cluster安裝和部署MySql
- Oracle cluster table(1)_概念介紹Oracle
- MySQL Galera Cluster全解析 Part 4 Galera Cluster 安裝前準備MySql
- 6. MySQL Galera Cluster全解析 Part 6 Galera Cluster引數設定MySql
- 5. MySQL Galera Cluster全解析 Part 5 Galera Cluster軟體安裝MySql
- MySQL NDB Cluster和Galera Cluster的主要特性和優缺點介紹MySql
- 原始碼方式安裝mysql cluster 7.3.3原始碼MySql
- MySQL Cluster 7.3.3 官方版本下載MySql
- Error: package MySQL-Cluster-server-gpl is not relocatableErrorPackageMySqlServer
- 一臺主機上配置MySQL ClusterMySql
- Oracle RAC(Cluster)的重構(整理)(1)Oracle
- 技術分享 | MySQL InnoDB Cluster Set 介紹MySql
- Galera Cluster for MySQL監控狀態說明MySql
- MySQL NDB Cluster簡介及環境搭建MySql
- MySQL-Cluster7.3.6-2 rpm安裝MySql
- 安裝MySQL-Cluster7.2.5(redhat6.4)MySqlRedhat