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了,如果有了,你就成功了.
其实步骤不难,只不过网上有些帖子错误引导,导致多走很多弯路,算了不喷了...
总体介绍下步骤,
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了,如果有了,你就成功了.
相关文章推荐
- 解决MySQL主从复制不一致的情况
- 通过Mysql-bin日志恢复还原数据
- mysql绿色版添加服务
- mysql概要(三)having
- MySQL报错汇总
- mySQL表和列的注释相关操作
- MySQL innodb表空间
- mysql 存储过程,搞死人的语法
- Can't connect to local MySQL server through socke
- mysql-bin占用空间太大的问题
- 设置mysql允许外网访问
- mysql 自定义自增序列
- MySQL基础知识
- 设置Mysql的连接超时参数
- 【总结】MySQL性能优化
- 【总结】MySQL数据库
- keepalived+mysql双主
- wamp环境中mysql更改root密码
- MySQL数据库的热备份和冷备份优缺点
- mysql启动提示mysql.host 不存在,启动失败的解决方法