MySQL集群简介与配置详解

MySQL集群主要用于解决MySQL性能不足的问题,在这里我们将要介绍集群的基本概念,以及一些配置知
首页 新闻资讯 行业资讯 MySQL集群简介与配置详解

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
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

  • 13.

  • 14.

  • 15.

  • 16.

  • 17.

  • 18.

  • 19.

  • 20.

  • 21.

  • 22.

  • 23.

  • 24.

  • 25.

  • 26.

  • 27.

  • 28.

  • 29.

  • 30.

  • 31.

  • 32.

  • 33.

  • 34.

  • 35.

  • 36.

  • 37.

  • 38.

4. 启动测试

在管理服务器上面(这里是192.168.1.251):

复制

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

在数据结点服务器上面(依然是192.168.1.251and more):

复制

shell>ndbd--initial (***次时加--initial参数)
  • 1.

SQL结点服务器上面(192.168.1.254):

复制

shell>MySQLd &
  • 1.

在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)
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

  • 13.

  • 14.

  • 15.

ok

关闭集群:

复制

shell>ndb_mgm -e shutdown
  • 1.

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

原文链接:http://blog.19lou.com/10131711/viewspace-338346 

【编辑推荐】

  1. MySQL数据库集群进行正确配置步骤

  2. MySQL 集群在Server1与Server2上如何安装MySQL

  3. MySQL集群配置

  4. MySQL集群自动安装脚本

  5. MySQL触发器如何正确使用


11    2010-08-12 13:15:26    MySQL集群