您的位置:首页 > 数据库 > MySQL

Mysql 集群简介和配置

2015-06-09 15:07 681 查看
Mysql集群简介和配置
1.先了解一下你是否应该用mysql集群。
减少数据中心结点压力和大数据量处理,采用把mysql分布,一个或多个application对应一个mysql数据库。把几个mysql数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面。其他不共享的数据还维持在各自分布的mysql数据库本身中。






2.集群Mysql中名称概念.(如上图)
1)Sql结点(SQLnode--上图对应为mysqld):分布式数据库。包括自身数据和查询中心结点数据.
2)数据结点(Datanode--ndbd):集群共享数据(内存中).
3)管理服务器(ManagementServer–ndb_mgmd):集群管理SQLnode,Datanode.

3.配置
mysql-max版本,当然现在mysql集群系统windonws平台上面不被支持.
安装mysql就不多说了,网上一打堆,简明扼要。
A:192.168.1.251–Datanode和ManagementServer.
B:192.168.1.254–SQLnode.
当然,你也可以让一个机器同时为3者。
A,Bmy.inf加上:

[MYSQLD]
ndbcluster#runNDBengine
ndb-connectstring=192.168.1.251#locationofMGMnode

#Optionsforndbdprocess:
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.251#locationofMGMnode

A:/var/lib/mysql-cluster/config.ini
[NDBDDEFAULT]
NoOfReplicas=1#Numberofreplicas
DataMemory=80M#Howmuchmemorytoallocatefordatastorage
IndexMemory=18M#Howmuchmemorytoallocateforindexstorage
#ForDataMemoryandIndexMemory,wehaveusedthe
#defaultvalues.Sincethe"world"databasetakesup
#onlyabout500KB,thisshouldbemorethanenoughfor
#thisexampleClustersetup.
#TCP/IPoptions:
[TCPDEFAULT]
portnumber=2202#Thisthedefault;however,youcanuseany
#portthatisfreeforallthehostsincluster
#Note:ItisrecommendedbeginningwithMySQL5.0that
#youdonotspecifytheportnumberatallandsimplyallow
#thedefaultvaluetobeusedinstead
#Managementprocessoptions:
[NDB_MGMD]
hostname=192.168.1.251#HostnameorIPaddressofMGMnode
datadir=/var/lib/mysql-cluster#DirectoryforMGMnodelogfiles
#Optionsfordatanode"A":
[NDBD]
#(one[NDBD]sectionperdatanode)
hostname=192.168.1.251#HostnameorIPaddress
datadir=/usr/local/mysql/data#Directoryforthisdatanode'sdatafiles
#SQLnodeoptions:
[MYSQLD]
hostname=192.168.1.254
#[MYSQLD]#这个相当于192.168.1.251


4.启动测试

·在管理服务器上面(这里是
192.168.1.251
):
·														shell>[code]ndb_mgmd-f/var/lib/mysql-cluster/config.ini
[/code]

·在数据结点服务器上面(依然是
192.168.1.251
andmore):
·														shell>[code]ndbd--initial(
第一次时加--initial参数)
[/code]

·SQL结点服务器上面(
192.168.1.254
):
·														shell>[code]mysqld&
[/code]

在251上面察看

./ndb_mgm
--NDBCluster--ManagementClient--
ndb_mgm>show
ConnectedtoManagementServerat:192.168.1.251:1186
ClusterConfiguration
---------------------
[ndbd(NDB)]1node(s)
id=2@192.168.1.251(Version:5.0.22,Nodegroup:0,Master)

[ndb_mgmd(MGM)]1node(s)
id=1@192.168.1.251(Version:5.0.22)

[mysqld(API)]1node(s)
id=3@192.168.1.254(Version:5.0.22)

ok
关闭集群:
shell>
ndb_mgm-eshutdown



5
.基本的集群说明

1
)在mysql集群中.当table引擎为NDBCLUSTER时才做集群,其他非NDBCLUSTER表和一般mysql数据库表一样,不会共享数据.NDBCLUSTER表数据存储在Datanode服务器内存中,DataNode可以为1台或多台服务器,它们之间存放共享数据。DataNode服务器可以分组数据copy。

例如:2,3,4,5为四台DataNode服务器ID.2,3为组0。4,5为组1。2,3维持数据相同,4,5维持数据相同。组0和组1维持数据不同。

2
)sqlnode服务器中,非NDBCLUSTER数据存在本身数据库中,table引擎为NDBCLUSTER时,数据存储在DataNode中。当查询NDBCLUSTER表时,它会从Datanode集群中提起数据.

3)Managerserver

管理SQlnode和Datanode状态。



6
深入了解
http://dev.mysql.com/doc/refman/5.0/en/ndbcluster.html
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: