posts - 33,  comments - 70,  trackbacks - 0

          1.? 先了解一下你是否應該用 mysql 集群。

          減少數據中心結點壓力和大數據量處理,采用把 mysql 分布,一個或多個 application 對應一個 mysql 數據庫。把幾個 mysql 數據庫公用的數據做出共享數據,例如購物車,用戶對象等等,存在數據結點里面。其他不共享的數據還維持在各自分布的 mysql 數據庫本身中。

          ?

          MySQL Cluster Components

          ?

          ?

          2.? 集群 Mysql 中名稱概念 .( 如上圖 )

          1 Sql 結點( SQL node-- 上圖對應為 mysqld : 分布式數據庫。包括自身數據和查詢中心結點數據 .

          2 )數據結點 (Data node -- ndbd): 集群共享數據 ( 內存中 ).

          3 )管理服務器 (Management Server – ndb_mgmd): 集群管理 SQL node,Data node.

          ?

          3 .配置

          ?????? mysql-max 版本,當然現在 mysql 集群系統 windonws 平臺上面不被支持 .

          ?????? 安裝 mysql 就不多說了,網上一打堆,簡明扼要。

          ?????? A:192.168.1.251 – Data node Management Server.

          ?????? B:192.168.1.254 – SQL node.

          當然,你也可以讓一個機器同時為 3 者。

          A,B my.inf 加上:

          ??????

          [MYSQLD]???????????????????????

          ndbcluster????????????????????? # run NDB engine

          ndb-connectstring=192.168.1.251? # location of MGM node

          ?

          # Options for ndbd process:

          [MYSQL_CLUSTER]????????????????

          ndb-connectstring=192.168.1.251? # location of MGM node

          ?

          A: /var/lib/mysql-cluster/config.ini

          [NDBD DEFAULT]???

          NoOfReplicas=1??? # Number of replicas

          DataMemory=80M??? # How much memory to allocate for data storage

          IndexMemory=18M?? # How much memory to allocate for index storage

          ????????????????? # For DataMemory and IndexMemory, we have used the

          ????????????????? # default values. Since the "world" database takes up

          ????????????????? # only about 500KB, this should be more than enough for

          ????????????????? # this example Cluster setup.

          # TCP/IP options:

          [TCP DEFAULT]????

          portnumber=2202?? # This the default; however, you can use any

          ??????????????? ??# port that is free for all the hosts in cluster

          ????????????????? # Note: It is recommended beginning with MySQL 5.0 that

          ????????????????? # you do not specify the portnumber at all and simply allow

          ????????????????? # the default value to be used instead

          # Management process options:

          [NDB_MGMD]?????????????????????

          hostname=192.168.1.251?????????? # Hostname or IP address of MGM node

          datadir=/var/lib/mysql-cluster? # Directory for MGM node logfiles

          # Options for data node "A":

          [NDBD]????????????????? ????????

          ??????????????????????????????? # (one [NDBD] section per data node)

          hostname=192.168.1.251?????????? # Hostname or IP address

          datadir=/usr/local/mysql/data?? # Directory for this data node's datafiles

          # SQL node options:

          [MYSQLD]

          hostname=192.168.1.254

          #[MYSQLD] # 這個相當于 192.168.1.251

          ?

          ?

          4.?????? 啟動測試

          ?

          ·???????? 在管理服務器上面(這里是192.168.1.251):

          				
          						·??????????????? 
          				
          				
          						shell> ndb_mgmd -f /var/lib/mysql-cluster/config.ini
          				
          		

          ?

          ·???????? 在數據結點服務器上面(依然是192.168.1.251 and more):

          				
          						·??????????????? 
          				
          				
          						shell> ndbd --initial (
          						
          								第一次時加 --initial 參數)
          						
          						
          								
          								
          						
          				
          		

          ?

          ·???????? SQL 結點服務器上面(192.168.1.254):

          				
          						·??????????????? 
          				
          				
          						shell> mysqld &
          				
          		

          ?

          251 上面察看

          ?

          ./ndb_mgm

          -- NDB Cluster -- Management Client --

          ndb_mgm> show

          Connected to Management Server at: 192.168.1.251:1186

          Cluster Configuration

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

          [ndbd(NDB)]???? 1 node(s)

          id=2??? @192.168.1.251? (Version: 5.0.22, Nodegroup: 0, Master)

          ?

          [ndb_mgmd(MGM)] 1 node(s)

          id=1??? @192.168.1.251? (Version: 5.0.22)

          ?

          [mysqld(API)]?? 1 node(s)

          id=3??? @192.168.1.254? (Version: 5.0.22)

          ?

          ok

          關閉集群:

          shell> ndb_mgm -e shutdown

          ?

          ?

          5 .基本的集群說明

          1 )在mysql 集群中.table引擎為NDBCLUSTER時才做集群,其他非NDBCLUSTER表和一般mysql數據庫表一樣,不會共享數據. NDBCLUSTER 表數據存儲在Data node服務器內存中Data Node可以為1臺或多臺服務器,它們之間存放共享數據。Data Node服務器可以分組數據copy

          例如:2,3,4,5 為四臺Data Node服務器ID. 2,3為組0? 45為組1? 23維持數據相同, 45維持數據相同。 組0和組1維持數據不同。

          ??? 2 sql node 服務器中,非NDBCLUSTER數據存在本身數據庫中,table引擎為NDBCLUSTER時,數據存儲在Data Node 中。當查詢NDBCLUSTER表時,它會從Data node集群中提起數據.

          ??? 3)Manager server

          ??? 管理SQl node Data node 狀態。

          ?

          ?

          6 深入了解

          http://dev.mysql.com/doc/refman/5.0/en/ndbcluster.html

          posted on 2006-06-28 11:58 地獄男爵(hellboys) 閱讀(61962) 評論(7)  編輯  收藏 所屬分類: 系統綜合

          FeedBack:
          # re: Mysql 集群簡介和配置
          2006-06-28 12:17 | Messiah
          不錯,受益匪淺!  回復  更多評論
            
          # re: Mysql 集群簡介和配置
          2006-06-29 11:22 | pesome
          恩,很有幫助阿,能把你的blog提交到openfans不,很想收錄你的文章  回復  更多評論
            
          # re: Mysql 集群簡介和配置
          2006-07-03 13:36 | dustin
          在決定用MySQL Cluster之前,首先要明確自己數據庫方案是否適合用Cluster:

          1. MySQL的cluster現在的處理還相當的幼稚, 它所有的數據都需要保證能放在內存中,所以有個經驗公式就是:
          每臺機器的內存容量 = 1.1 × 整個數據庫在內存的大小,MySQL的官方推薦是16GB的內存(當然相比昂貴的商業數據庫,這個也不算什么,關鍵是項目要能忍受MySQL Cluster暫時的不穩定性)
          所以如果數據庫是“增量”型的數據庫, 則需要有定期清除策略;
          并且對于增量上升的比較快的表,最好需要做一些數據的優化:盡量不要用Varchar的類型(NDB Cluster Engine將它視為定長255, 而Cluster可以支持的最長Row的大小為8K);
          2. Cluster還存在Bug,這個是需要首先了解的,對于實時修改Table(Alter Table 的DDL)的情況Cluster是不支持的。
          3. 如果只是提供數據庫的冗余,建議使用Mysql Replication。  回復  更多評論
            
          # re: Mysql 集群簡介和配置
          2006-07-03 15:45 | 地獄男爵(hellboys)
          1.優化必然不錯,要不用什么數據庫都不行。呵呵。對于內存大小。如果機器內存小的話可以讓數據結點分組,這樣就可以體現集群的優勢。
          例如:一臺8G內存的機器,當了數據庫就over了。 但是可以做到4G內存的機器2個,當一臺沒關系。或者2G內存的機器4個。就看項目的需要了。

          每臺機器的內存容量 = 1.1 × 整個數據庫在內存的大小 ??? 我翻譯的有問題 ??? 整個數據庫在內存的大小。因為當不使用集群引擎的話,集群是不會處理其他表的亞。

          2.Cluster還存在Bug,呵呵,當然有.那你為什么不提交給mysql.com亞,能得到apple的mp3亞,也為業內做貢獻拉. 對于實時修改Table(Alter Table 的DDL)的情況Cluster已經支持拉。 我用的是mysql-max 5.022.

          3.Number of replicas的關系是什么呢?
            回復  更多評論
            
          # re: Mysql 集群簡介和配置
          2006-07-04 15:06 | Dustin Tang
          @地獄男爵(hellboys)
          內存小的機器就別想著做Cluster了, 幾百萬條很小的數據就能把數據庫撐暴.

          如果要支持HA, 那么有一半的機器要拿去做備份服務器, 用jdbc本身自帶的HA是令人難以忍受的.

          每臺機器的內存容量 = 1.1 × 整個數據庫在內存的大小 大家都是明白人, 難不成我還會扯別的Engine?

          還是一句話:如果用Cluster的目的是提供備份, 那么MySQL Replication 要比Cluster成熟.  回復  更多評論
            
          # re: Mysql 集群簡介和配置
          2011-01-26 14:52 | tmeper
          查詢的次數太多,導致檢索時間過長。

          有哪位高手能否介紹一下有關mysql的并行檢索?
          比如說,我有2000個查詢,讓兩臺機器同時執行,每臺機器負責1000個查詢。
          或者有什么別的建議?  回復  更多評論
            
          # re: Mysql 集群簡介和配置[未登錄]
          2014-09-15 15:18 | 菜鳥
          @dustin
          動不動就說不穩定,人家島國的有個很大很大的社交網站就是這么搞的。你有啥子證據說不穩定,服了你。
            回復  更多評論
            
          <2014年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          隨筆分類

          隨筆檔案

          文章檔案

          相冊

          連接

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 贺州市| 安泽县| 海淀区| 昂仁县| 百色市| 河西区| 克什克腾旗| 安康市| 崇信县| 太保市| 托克逊县| 蒙自县| 平远县| 余干县| 龙游县| 沙田区| 盐津县| 沙洋县| 车险| 邵阳市| 克拉玛依市| 上饶县| 临泽县| 文安县| 大足县| 丁青县| 股票| 原阳县| 台江县| 昌都县| 丰宁| 深泽县| 城步| 娱乐| 平武县| 宁阳县| 龙江县| 固阳县| 昂仁县| 新余市| 襄垣县|