MySQL Cluster學習筆記——安裝

由於畢設須要學習了一點關於MySQL Cluster的東西。爲避免遺忘,從今天起整理一下學過的東西。同時也但願這些學習筆記能幫助到和我同樣的初學者。 html


安裝

參考資料: node

1. http://downloads.mysql.com/tutorials/cluster/mysql_wp_cluster_quickstart_windows.pdf mysql

2. http://www.cnblogs.com/seesea125/archive/2012/03/28/2421277.html sql

下面是個人配置文件 數據庫

config.ini windows

[ndbd default] api

noofreplicas=2 服務器

datadir=d:\my_cluster\ndb_data 分佈式


[ndb_mgmd] 學習

hostname=10.128.50.68

datadir=d:\my_cluster\ndb_data

NodeId=1


[ndbd]

hostname=10.128.50.68

NodeId=3

[ndbd]

hostname=10.128.50.179

NodeId=4

[ndbd]

hostname=10.128.50.68

NodeId=5

[ndbd]

hostname=10.128.50.179

NodeId=6


[mysqld]

hostname=10.128.50.68

NodeId=7

[mysqld]

hostname=10.128.50.179

NodeId=8

[mysqld]


[api]

# do not specify NodeId!

hostname=10.128.50.68

[api]

# do not specify NodeId!

hostname=10.128.50.68

[api]

# do not specify NodeId!

hostname=10.128.50.68

[api]

# do not specify NodeId!

hostname=10.128.50.179

[api]

# do not specify NodeId!

hostname=10.128.50.179

[api]

# do not specify NodeId!

hostname=10.128.50.179


my.cnf

[mysqld]

ndbcluster

default-storage-engine=ndbcluster

character_set_server=utf8

datadir=D:\\my_cluster\\mysqld_data

basedir=D:\\mysqlc

port=5000

ndb-cluster-connection-pool=4

[mysql_cluster]

ndb-connectstring=10.128.50.68


幾點說明:

1.主機10.128.50.68上運行了一個管理節點(mgmd),一個MySQL節點(mysqld)和兩個數據節點(ndbd

主機10.128.50.179上運行了一個MySQL節點和兩個數據節點

2.參數noofreplicas簡單來講就是表示備份的數目。詳細介紹在這個網址

http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-nodes-groups.html。裏面介紹了nodenode groupreplicaspartition這幾個概念和他們之間的關係。這些知識對指定一個有效的備份策略頗有幫助。若是你不明白,極可能沒法實現MySQL官方承諾的no single point of failure

3.[api]這一項表示mysqldndbd之間打開的鏈接。具備相同hostname[api][mysqld]項組成主機mysqldndbd之間的鏈接池。詳細信息能夠參考MySQL官方手冊MySQL_Cluster_Performance_WP.pdf中Connection pools小節

4.[api]節點的nodeid不能指定。這個MySQL Cluster啓動後會自動爲其分配nodeid[api]項最好寫在指定nodeid的項後面。不然,可能會遇到我這樣的錯誤。

我原來把四個[api]加在nodeid=7的那個[mysqld]後面。而後又指定了這四個[api]後面的[mysqld]nodeid=8。結果集羣啓動時立馬報錯:nodeid重複

5.my.cnf文件裏有兩個我本身添加的幾個選項。

default-storage-engine=ndbcluster用來指定默認存儲引擎。(原來默認的竟然是InnoDB,真是坑爹啊。身爲一個分佈式數據庫,情何以堪吶!

character_set_server=utf8用來指定服務器的編碼方式。不知道爲何,不改這個,光改數據庫的編碼方式,插入中文總是出錯。原來用在MySQL上的參數default-character-set無論用了。若是加上default-character-set=utf8mysqld啓動之後幾秒內就會自動關閉。

ndb-cluster-connection-pool=4和上面說的鏈接池對應。

ndb-connectstring=10.128.50.68聲明管理節點

相關文章
相關標籤/搜索