首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

MySQL集群简介与配备详解

2012-12-19 
MySQL集群简介与配置详解1.?先了解一下你是否应该用MySQL集群。减少数据中心结点压力和大数据量处理,采用把

MySQL集群简介与配置详解

1.?先了解一下你是否应该用MySQL集群。

减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库。把几个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]??????????????????????? ?ndbcluster?????????????????????#?run?NDB?engine ?
  2. ndb-connectstring=192.168.1.251?#?location?of?MGM?node ?? ?
  3. #?Options?for?ndbd?process: ?[MySQL_CLUSTER]???????????????? ?
  4. ndb-connectstring=192.168.1.251?#?location?of?MGM?node ?? ?
  5. A:?/var/lib/MySQL-cluster/config.ini ?[NDBD?DEFAULT]??? ?
  6. NoOfReplicas=1???#?Number?of?replicas ?DataMemory=80M???#?How?much?memory?to?allocate?for?data?storage ?
  7. IndexMemory=18M??#?How?much?memory?to?allocate?for?index?storage ??????????????????#?For?DataMemory?and?IndexMemory,?we?have?used?the ?
  8. ?????????????????#?default?values.?Since?the?"world"?database?takes?up ??????????????????#?only?about?500KB,?this?should?be?more?than?enough?for ?
  9. ?????????????????#?this?example?Cluster?setup. ?#?TCP/IP?options: ?
  10. [TCP?DEFAULT]???? ?portnumber=2202??#?This?the?default;?however,?you?can?use?any ?
  11. ?????????????????#?port?that?is?free?for?all?the?hosts?in?cluster ??????????????????#?Note:?It?is?recommended?beginning?with?MySQL?5.0?that ?
  12. ?????????????????#?you?do?not?specify?the?portnumber?at?all?and?simply?allow ??????????????????#?the?default?value?to?be?used?instead ?
  13. #?Management?process?options: ?[NDB_MGMD]????????????????????? ?
  14. hostname=192.168.1.251??????????#?Hostname?or?IP?address?of?MGM?node ?datadir=/var/lib/MySQL-cluster?#?Directory?for?MGM?node?logfiles ?
  15. #?Options?for?data?node?"A": ?[NDBD]????????????????????????? ?
  16. #?(one?[NDBD]?section?per?data?node) ?hostname=192.168.1.251??????????#?Hostname?or?IP?address ?
  17. datadir=/usr/local/MySQL/data??#?Directory?for?this?data?node's?datafiles ?#?SQL?node?options: ?
  18. [MySQLD] ?hostname=192.168.1.254 ?
  19. #[MySQLD]?#这个相当于192.168.1.251 ???

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. --?NDB?Cluster?--?Management?Client?-- ?ndb_mgm>?show ?
  3. Connected?to?Management?Server?at:?192.168.1.251:1186 ?Cluster?Configuration ?
  4. --------------------- ?[ndbd(NDB)]????1?node(s) ?
  5. id=2???@192.168.1.251?(Version:5.0.22,?Nodegroup:?0,?Master) ?? ?
  6. [ndb_mgmd(MGM)]?1?node(s) ?id=1???@192.168.1.251?(Version:5.0.22) ?
  7. ? ?[MySQLd(API)]??1?node(s) ?
  8. 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

热点排行