MySQL Cluster学习笔记——安装

由于毕设须要学习了一点关于MySQL Cluster的东西。为避免遗忘,从今天起整理一下学过的东西。同时也但愿这些学习笔记能帮助到和我同样的初学者。 html


安装

参考资料: node

1. http://downloads.mysql.com/tutorials/cluster/mysql_wp_cluster_quickstart_windows.pdf mysql

2. http://www.cnblogs.com/seesea125/archive/2012/03/28/2421277.html sql

下面是个人配置文件 数据库

config.ini windows

[ndbd default] api

noofreplicas=2 服务器

datadir=d:\my_cluster\ndb_data 分布式


[ndb_mgmd] 学习

hostname=10.128.50.68

datadir=d:\my_cluster\ndb_data

NodeId=1


[ndbd]

hostname=10.128.50.68

NodeId=3

[ndbd]

hostname=10.128.50.179

NodeId=4

[ndbd]

hostname=10.128.50.68

NodeId=5

[ndbd]

hostname=10.128.50.179

NodeId=6


[mysqld]

hostname=10.128.50.68

NodeId=7

[mysqld]

hostname=10.128.50.179

NodeId=8

[mysqld]


[api]

# do not specify NodeId!

hostname=10.128.50.68

[api]

# do not specify NodeId!

hostname=10.128.50.68

[api]

# do not specify NodeId!

hostname=10.128.50.68

[api]

# do not specify NodeId!

hostname=10.128.50.179

[api]

# do not specify NodeId!

hostname=10.128.50.179

[api]

# do not specify NodeId!

hostname=10.128.50.179


my.cnf

[mysqld]

ndbcluster

default-storage-engine=ndbcluster

character_set_server=utf8

datadir=D:\\my_cluster\\mysqld_data

basedir=D:\\mysqlc

port=5000

ndb-cluster-connection-pool=4

[mysql_cluster]

ndb-connectstring=10.128.50.68


几点说明:

1.主机10.128.50.68上运行了一个管理节点(mgmd),一个MySQL节点(mysqld)和两个数据节点(ndbd

主机10.128.50.179上运行了一个MySQL节点和两个数据节点

2.参数noofreplicas简单来讲就是表示备份的数目。详细介绍在这个网址

http://dev.mysql.com/doc/refman/5.5/en/mysql-cluster-nodes-groups.html。里面介绍了nodenode groupreplicaspartition这几个概念和他们之间的关系。这些知识对指定一个有效的备份策略颇有帮助。若是你不明白,极可能没法实现MySQL官方承诺的no single point of failure

3.[api]这一项表示mysqldndbd之间打开的链接。具备相同hostname[api][mysqld]项组成主机mysqldndbd之间的链接池。详细信息能够参考MySQL官方手册MySQL_Cluster_Performance_WP.pdf中Connection pools小节

4.[api]节点的nodeid不能指定。这个MySQL Cluster启动后会自动为其分配nodeid[api]项最好写在指定nodeid的项后面。不然,可能会遇到我这样的错误。

我原来把四个[api]加在nodeid=7的那个[mysqld]后面。而后又指定了这四个[api]后面的[mysqld]nodeid=8。结果集群启动时立马报错:nodeid重复

5.my.cnf文件里有两个我本身添加的几个选项。

default-storage-engine=ndbcluster用来指定默认存储引擎。(原来默认的竟然是InnoDB,真是坑爹啊。身为一个分布式数据库,情何以堪呐!

character_set_server=utf8用来指定服务器的编码方式。不知道为何,不改这个,光改数据库的编码方式,插入中文总是出错。原来用在MySQL上的参数default-character-set无论用了。若是加上default-character-set=utf8mysqld启动之后几秒内就会自动关闭。

ndb-cluster-connection-pool=4和上面说的链接池对应。

ndb-connectstring=10.128.50.68声明管理节点

相关文章
相关标签/搜索