Windows xpMysql7.0的集
姚利刚 2012-2-13
注:windows上的mysql集的实现受mysql版本的限制,故需安装Mysql5.5以上版本。
    split文件Mysql-cluster-gpl-7.0.8a-win32.msi支持集操作,参考下载网址:
mysql无法连接到服务器
    downloads.skysql/archive/signature/p/cluster/f/mysql-cluster-gpl-7.0.8a-win32.msi/v/7.0
实验条件
1. 两台windows xpc操作系统的PC机作为服务器进行实验
功能分配:
PC机号
功能节点
IP
备注
1
管理节点[MGM]
SQL节点1[SQL1]
数据节点1[NDBD1]
192.168.1.20
这五个节点可以对应5台服务器上,分别对应一个数据库。
2
SQL节点2[SQL2]
数据节点2[NDBD2]
192.168.1.204
java视频教程自学相关配置
管理节点pc机配置
1、config.ini
在1号PC机上创建一个文件config.ini.
详情创建路径如下:
内容1.入库数据不大只是测试:
[NDBD DEFAULT]
NoOfReplicas=2
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
# Managment Server
[NDB_MGMD]
HostName=192.168.1.20 #管理节点服务器db1的IP地址
# Storage Engines
[NDBD]
HostName=192.168.1.20 #MySQL集db1的IP地址
DataDir= E:\data #如果不存在就创建一个
[NDBD]
HostName=192.168.1.204 #MySQL集db3的IP地址
DataDir= E:\data #如果不存在就创建一个
[MYSQLD]
HostName=192.168.1.20
[MYSQLD]
HostName=192.168.1.204
2. 关心CPU是否够用时
[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=600M        #设置内存占用量
IndexMemory=100M        #
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
# Managment Server
[NDB_MGMD]
HostName=192.168.1.20 #管理节点服务器db1的IP地址数组公式是如何运算的
# Storage Engines
[NDBD]
HostName=192.168.1.4 #MySQL集db1的IP地址
DataDir= E:\data #如果不存在就创建一个
[NDBD]
HostName=192.168.1.204 #MySQL集db3的IP地址
DataDir= E:\data #如果不存在就创建一个
[MYSQLD]
HostName=192.168.1.4
[MYSQLD]
HostName=192.168.1.204
2、my.ini
在mysql的安装路径下这里是C:\Program Files\MySQL\MySQL Server 7.0,到my.ini并打开,在内容的最后加入:
ndbcluster
ndb-connectstring=192.168.1.20
[mysql_cluster]
ndb-connectstring=192.168.1.20 #db1的IP地址
3、创建数据存放位置
在这里创建文件夹E:\data
子节点端pc机配置
1. 下载并安装mysql-cluster-gpl-7.0.8a-win32.msi
2. 创建E:\data
3. Mysql根目录下面到my.ini
添加:
ndbcluster
ndb-connectstring=192.168.1.20
[mysql_cluster]alignparenttop
ndb-connectstring=192.168.1.20 #管理节点的IP地址
服务器启动
1. 启动管理节点服务器
1. 打开命令行输入 cmd
2. 键入:C:\Program Files\MySQL\MySQL Server 7.0\bin\” – f “C:\mysql\mysql-cluster\config.ini”
3. 回车执行启动
4. 执行后效果如下:
2. 启动节点服务
注:子节点同时操作,如果管理节点的pc机上有子节点必须如下操作
1. 打开命令行输入 cmd
2. 键入:C:\Program Files\MySQL\MySQL Server 7.0\” – initial
3. 回车执行启动
4. 参考操作
3. 启动Mysql数据库服务
注:管理节点和子节点都必须如下操作
启动mysql数据库服务服务需注意:如果原本mysql数据库服务是打开的,但是我们在上面进行了my.ini配置,因此必须此时进行重新启动,否则会出现不到dbcluster引擎。
也可以进行mysql引擎状态查看,如果状态如下说明正常连接到节点,并且本地的配置也合适。
如果不是YES而是no说明需要重启。
4. 检查cluster配置和节点连接情况
1. 打开命令行输入:cmd
2. 键入:C:\Program Files\MySQL\MySQL Server 7.0\bin\”
3. 回车查看状态
4. 此处状态
以上状态含义:
1. id=1 管理节点  正确时显示节点安装的服务器IP否则显示无法连接
2. id=2 数据节点  因为在管理节点所在机器,故显示Master,数据存放在预设的E:\data文件夹中。
正确时显示节点安装的服务器IP否则显示无法连接
3. id=3 数据节点  非管理节点所在机器上,但是必须在该机器上创建一
  个和管理机一样的数据存放文件夹,即E:\data
4. id=4  sql节点  如果本机没有启动mysql服务,此节点显示无法连接
5. id=5  sql节点  同上,但是特别注意,启动了mysql command不一定
              启动了mysql服务。
数据库的操作
1. 在管理节点端机器上创建一个cluster(自己可以随意取名,但是后面的子节点的数据库必须与此同名)数据库
2. 在其他子节点上创建一个cluster(必须和管理节点端的数据库同名)
即:create datebase cluster;
3. 创建数据表
注意:只需在管理节点端创建数据表,无需在字段点机器上创建数据表。
建表如下:
这里的engine=ndbcluster default charset=utf8一定要选择,因为我们已经在my.ini中完成了配置,是实现集的关键。
4. 字段点操作管理节点数据库
注意:
        上面已经提到:
1. 子节点端必须创建和管理节点一样名称的数据库
2. 子节点数据库中无需创建数据表
3. 因为我们创建了一个cluster数据库,所以在子节点端如下操作:
Use cluster;
Show tables;
注:我们发现我们并没有在这里创建数据表,但是,这里却出现了一个数据表。
Select*from people;
发现这里的数据和在管理节点上创建的数据表一模一样。
在管理节点的pc机上以ndbcluster引擎创建数据表
参考资料:关于mysql集创建需要回答的问题
www.minsoft/mysql/532.jhtml
          基于windows下的mysql集创建
        2878502.blog.51cto/2868502/523669
mysql集评估手册
     sql/support/supportedplatforms/cluster.html
mysql安装说明:database.51cto/art/201011/234530.htm
批处理启动管理节点和数据节点
所建文件如下:
具体内容:
启动管理节点
启动子节点
检查集服务器连接情况
数据录入测试情况
结果            服务器名
PC机1(管理节点)
PC机2
提取至txt数据/条
110658
163101
耗时
460s
687s
入库
178750ms
328s
完成
196667
273759
正常时为:
报错:
出现报错参考:bbs.chinaunix/thread-3639064-1-1.html
问题解决管理节点必须打开防火墙。。。。。。
如果有一个节点未连接成功:1.需检查my.ini的内部访问路劲(即本地mysql安装和数据路劲)
Vsystempause有什么用ar  INNODB  max 32101
Ndbcluster下最大:3349(好像和cpu的配置有点关系,但出入不是很大)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。