MySQL叢集簡介與配置詳解

來源:互聯網
上載者:User

1. 先瞭解一下你是否應該用MySQL叢集。

減少資料中心結點壓力和大資料量處理,採用把MySQL分布,一個或多個application對應一個MySQL資料庫。把幾個MySQL資料庫公用的資料做出共用資料,例如購物車,使用者物件等等,存在資料結點裡面。其他不共用的資料還維持在各自分布的MySQL資料庫本身中。

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加上:

 
  1. [MySQLD]                         
  2. ndbcluster                     # run NDB engine  
  3. ndb-connectstring=192.168.1.251 # location of MGM node  
  4.    
  5. # Options for ndbd process:  
  6. [MySQL_CLUSTER]                  
  7. ndb-connectstring=192.168.1.251 # location of MGM node  
  8.    
  9. A: /var/lib/MySQL-cluster/config.ini  
  10. [NDBD DEFAULT]     
  11. NoOfReplicas=1   # Number of replicas  
  12. DataMemory=80M   # How much memory to allocate for data storage  
  13. IndexMemory=18M  # How much memory to allocate for index storage  
  14.                  # For DataMemory and IndexMemory, we have used the  
  15.                  # default values. Since the "world" database takes up  
  16.                  # only about 500KB, this should be more than enough for  
  17.                  # this example Cluster setup.  
  18. # TCP/IP options:  
  19. [TCP DEFAULT]      
  20. portnumber=2202  # This the default; however, you can use any  
  21.                  # port that is free for all the hosts in cluster  
  22.                  # Note: It is recommended beginning with MySQL 5.0 that  
  23.                  # you do not specify the portnumber at all and simply allow  
  24.                  # the default value to be used instead  
  25. # Management process options:  
  26. [NDB_MGMD]                       
  27. hostname=192.168.1.251          # Hostname or IP address of MGM node  
  28. datadir=/var/lib/MySQL-cluster # Directory for MGM node logfiles  
  29. # Options for data node "A":  
  30. [NDBD]                           
  31. # (one [NDBD] section per data node)  
  32. hostname=192.168.1.251          # Hostname or IP address  
  33. datadir=/usr/local/MySQL/data  # Directory for this data node's datafiles  
  34. # SQL node options:  
  35. [MySQLD]  
  36. hostname=192.168.1.254  
  37. #[MySQLD] #這個相當於192.168.1.251  
  38.   

4. 啟動測試

在管理伺服器上面(這裡是192.168.1.251):

 
  1. shell>ndb_mgmd -f /var/lib/MySQL-cluster/config.ini 

在資料結點伺服器上面(依然是192.168.1.251and more):

 
  1. shell>ndbd--initial (第一次時加--initial參數) 

SQL結點伺服器上面(192.168.1.254):

 
  1. shell>MySQLd & 

在251上面察看

 
  1. ./ndb_mgm  
  2.  
  3. -- NDB Cluster -- Management Client --  
  4. ndb_mgm> show  
  5. Connected to Management Server at: 192.168.1.251:1186  
  6. Cluster Configuration  
  7. ---------------------  
  8. [ndbd(NDB)]    1 node(s)  
  9. id=2   @192.168.1.251 (Version:5.0.22, Nodegroup: 0, Master)  
  10.    
  11. [ndb_mgmd(MGM)] 1 node(s)  
  12. id=1   @192.168.1.251 (Version:5.0.22)  
  13.    
  14. [MySQLd(API)]  1 node(s)  
  15. id=3   @192.168.1.254 (Version:5.0.22) 

ok

關閉叢集:

 
  1. 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。 4,5為組1。 2,3鑑效組資料相同,4,5鑑效組資料相同。 組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

相關文章

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.