Mysql 集群简介和配置

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

减少数据中心结点压力和大数据量处理,采用把 mysql 分布,一个或多个 application 对应一个 mysql 数据库。把几个 mysql 数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面。其他不共享的数据还维持在各自分布的 mysql 数据库本身中。
[img]http://dl.iteye.com/upload/attachment/241816/0dde2aba-e236-3d13-86ec-7b914f9f25f7.png[/img]
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。 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://www.blogjava.net/hellboys/archive/2006/06/28/55507.html
参考:http://bbs.chinaunix.net/thread-1611542-1-1.html
http://bbs.chinaunix.net/thread-1611542-1-1.html
http://www.abc188.com/info/html/wangluobiancheng/Mysql/20080224/33020.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值