MySQL Cluster 搭建中對(duì)數(shù)據(jù)庫(kù)表的創(chuàng)建
MySQL Cluster 是MySQL數(shù)據(jù)庫(kù)主要適合于分布式計(jì)算環(huán)境的高實(shí)用、高冗余這兩種版本。MySQL Cluster 采用了NDB Cluster 存儲(chǔ)引擎,允許在一個(gè) Cluster 中對(duì)MySQL服務(wù)器進(jìn)行與運(yùn)行。
在MyQL 5.0及以上的二進(jìn)制版本中、以及與***的Linux版本兼容的RPM中提供了該存儲(chǔ)引擎。(注意,要想獲得MySQL Cluster 的功能,必須安裝 mysql-server 和 mysql-max RPM)。
目前能夠運(yùn)行MySQL Cluster 的操作系統(tǒng)有Linux、Mac OS X和Solaris(一些用戶(hù)通報(bào)成功地在FreeBSD上運(yùn)行了MySQL Cluster ,但MySQL AB公司尚未正式支持該特性)。
MySQL Cluster(MySQL 集群) 搭建中如何創(chuàng)建數(shù)據(jù)庫(kù)表
與沒(méi)有使用 Cluster的MySQL相比,在MySQL Cluster內(nèi)操作數(shù)據(jù)的方式?jīng)]有太大的區(qū)別。執(zhí)行這類(lèi)操作時(shí)應(yīng)記住兩點(diǎn):
表必須用ENGINE=NDB或ENGINE=NDBCLUSTER選項(xiàng)創(chuàng)建,或用ALTER TABLE選項(xiàng)更改,以使用NDB Cluster存儲(chǔ)引擎在 Cluster內(nèi)復(fù)制它們。如果使用mysqldump的輸出從已有數(shù)據(jù)庫(kù)導(dǎo)入表,可在文本編輯器中打開(kāi)SQL腳本,并將該選項(xiàng)添加到任何表創(chuàng)建語(yǔ)句,或用這類(lèi)選項(xiàng)之一替換任何已有的ENGINE(或TYPE)選項(xiàng)。
另外還請(qǐng)記住,每個(gè)NDB表必須有一個(gè)主鍵。如果在創(chuàng)建表時(shí)用戶(hù)未定義主鍵,NDB Cluster存儲(chǔ)引擎將自動(dòng)生成隱含的主鍵。(注釋?zhuān)涸撾[含 鍵也將占用空間,就像任何其他的表索引一樣。由于沒(méi)有足夠的內(nèi)存來(lái)容納這些自動(dòng)創(chuàng)建的鍵,出現(xiàn)問(wèn)題并不罕見(jiàn))。
下面是一個(gè)例子:
在db2上,創(chuàng)建數(shù)據(jù)表,插入數(shù)據(jù):
- [db2~]root# mysql -uroot test
- [db2~]mysql> create table city(
- [db2~]mysql> id mediumint unsigned not null auto_increment primary key,
- [db2~]mysql> name varchar(20) not null default ''
- [db2~]mysql> ) engine = ndbcluster default charset utf8;
- [db2~]mysql> insert into city values(1, 'city1');
- [db2~]mysql> insert into city values(2, 'city2');
在db3上,查詢(xún)數(shù)據(jù):
- [db3~]root# mysql -uroot test
- [db2~]mysql> select * from city;
- +-----------+
- |id | name |
- +-----------+
- |1 | city1 |
- +-----------+
- |2 | city2 |
- +-----------+
安全關(guān)閉
要想關(guān)閉 Cluster,可在MGM節(jié)點(diǎn)所在的機(jī)器上,在Shell中簡(jiǎn)單地輸入下述命令:
[db1~]root# /usr/local/mysql/ndb_mgm -e shutdown運(yùn)行以下命令關(guān)閉SQL節(jié)點(diǎn)的mysqld服務(wù):
- [db2~]root# /usr/local/mysql/bin/mysqladmin -uroot shutdown
其他
關(guān)于MySQL Cluster更多詳細(xì)的資料以及備份等請(qǐng)參見(jiàn)MySQL手冊(cè)的“MySQL Cluster(MySQL 集群)”章節(jié)。