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

win7 mysql 集群搭建,自测ok

2016-01-14 15:49 701 查看
最近搭了mysql集群,在搭建过程中遇到了一些问题,分享出来,希望同志们少走些弯路.

其实步骤不难,只不过网上有些帖子错误引导,导致多走很多弯路,算了不喷了...

总体介绍下步骤,

1 找两台pc或使用vm虚拟,总之需要模拟集群环境

2 下载mysql

3 安装mysql,添加配置文件

4 启动结点

5 测试,注意表引擎阿

1 我找了两台机器,

192.168.0.102 作管理节点, 数据节点 , sql节点

192.168.0.104 作数据节点,sql节点

两台机器,设置好ip,hab,两跟网线,防火墙关了,104开启来宾用户,102使用来宾访问104共享目录,当然ping通是前台,访问共享目录只是为了复制文件方便.

2 下载mysql http://dev.mysql.com/downloads/cluster/ mysql-cluster-gpl-7.4.8-win32.msi版本即可, 访问网站后不用login,直接下就行.

3

a 安装mysql,一般默认安装在C:\Program Files (x86)\MySQL\MySQL Cluster 7.4,下一步就行.(我当时选的complete.)

b 添加配置文件

在 C:\Program Files (x86)\MySQL\MySQL Cluster 7.4 目录下需要添加两个配置文件, config.ini my.ini

config文件内容如下:

[ndbd default]

NoOfReplicas=2

MaxNoOfTables=1024

MaxNoOfUniqueHashIndexes=1024

MaxNoOfOrderedIndexes=1024

MaxNoOfAttributes=10000

[ndb_mgmd]

NodeId=1

HostName=192.168.0.102

DataDir=C:\Program Files\MySQL\MySQL Cluster 7.4\data

[ndbd]

NodeId=21

HostName=192.168.0.102

DataDir=C:\Program Files\MySQL\MySQL Cluster 7.4\data

[ndbd]

NodeId=22

HostName=192.168.0.104

DataDir=C:\Program Files\MySQL\MySQL Cluster 7.4\data

[mysqld]

NodeId=11

HostName=192.168.0.102

[mysqld]

NodeId=12

HostName=192.168.0.104

再搞my.ini

[mysqld]

character_set_server=utf8

basedir="C:\Program Files (x86)\MySQL\MySQL Cluster 7.4"

datadir="C:\Program Files (x86)\MySQL\MySQL Cluster 7.4"

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

ndbcluster

ndb-connectstring=192.168.0.102

explicit_defaults_for_timestamp=true

[mysql_cluster]

ndb-connectstring=192.168.0.102

ok,102搞定了.

现在搞104,同样安装mysql,之需要配置my.ini就可以了,把102的my.ini拷贝过去就可以.

4 启动102

4.1 启动102 管理节点, 在102 开启一个命令窗口,执行如下:

cd C:\Program Files (x86)\MySQL\MySQL Cluster 7.4\bin

ndb_mgmd.exe --config-file="C:\Program Files (x86)\MySQL\MySQL Cluster 7.4\config.ini" --configdir="C:\Program Files (x86)\MySQL\MySQL Cluster 7.4"

4.2 启动102 数据节点,再开一个新窗口

cd C:\Program Files (x86)\MySQL\MySQL Cluster 7.4\bin

ndbd.exe --initial

4.3 启动102 sql节点

a 保证mysql服务启动正常

cd C:\Program Files (x86)\MySQL\MySQL Cluster 7.4\bin

如果没有mysql服务,需要创建服务,再启动,(如果有先都删了吧,先停服务 net stop 服务名, 再进入bin目录 mysqld -remove 服务名)

cd "C:\Program Files (x86)\MySQL\MySQL Cluster 7.4\bin"

mysqld --install

net start mysql

b 启动sql节点

开启新的命令窗口,

cd C:\Program Files (x86)\MySQL\MySQL Cluster 7.4\bin

mysqld

5 启动104

5.1 启动104数据节点,同4.2

5.2 启动104 sql节点,同4.3

6 测试各个节点启动情况,

在102开启新的命令行窗口,

cd C:\Program Files (x86)\MySQL\MySQL Cluster 7.4\bin

ndb_mgm.exe

show

结果这样才行:

[ndbd(NDB)] 2 node(s)

id=21 @192.168.0.102 (mysql-5.6.24 ndb-7.4.6, Nodegroup: 0, *)

id=22 @192.168.0.104 (mysql-5.6.24 ndb-7.4.6, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @192.168.0.102 (mysql-5.6.24 ndb-7.4.6)

[mysqld(API)] 2 node(s)

id=11 @192.168.0.102 (mysql-5.6.24 ndb-7.4.6)

id=12 @192.168.0.104 (mysql-5.6.24 ndb-7.4.6)

表示你的各个节点,都是正常工作的.如果不对,回帖,哥们帮你看看.上边这一步结果,我也搞了两天,马的各种sb错.

万里长征你已经过了雪山了,快熬出来了.

测试集群同步:

我使用一个软件 navicat, 连接mysql的客户端工具,还算好事,这个自己baidu下吧,

1 有个权限的事,不过我不确定同步有没有影响,给104的root用户提供一个读写的权限,我记得主从应该设权限的,集群不是很确定,不过我也设置了

grant all privileges on *.* to 'root'@'192.168.0.104' identified by '123456' with grant option

翻译一下 给104的用户名是root密码是123456的用户提供权限.

2 表引擎,ndbccluster,如果不是这个引擎,表同步肯定没戏

在102创建一个数据a,在a下建一个表b,填两条数据,然后到104的数据库上看看,是不是有a跟b了,如果有了,你就成功了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: