前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Windows7中搭建Mysql Cluster

在Windows7中搭建Mysql Cluster

作者头像
克虏伯
发布2019-04-15 14:14:03
1.9K0
发布2019-04-15 14:14:03
举报

下面的这些搭建步骤都是参考Mysql的官方文档

准备工作:

登录windows时最好用Administor登录(特别是管理节点,用其它用户登录了一次,之后就搭建不了,总是出现"修改不了一些文件的错误"),不然程序没有权限修改某些文件。

我有俩台笔记本,笔记本A(操作系统是Windows7 64位)、笔记本B(操作系统是Windows7 64位),在笔记本B上装上VMWare装上俩台64位的Windows7虚拟机(分别是vm-w1、vm-w2),即现在有4台64位的windows7(A、B、vm-w1、vm-w2)。

在电脑A上开无线,B连上A的无线,这样vm-w1和vm-w2也会连上网,

A上的IP为192.168.155.1,B上的IP为192.168.155.2,vm-w1的IP为192.168.155.3,vm-w2的IP为192.168.155.4。

需要4个节点 :

一个管理节点ndb_mdmd、一个SQL节点、俩个Data节点,分别放在不同的电脑上。

管理节点装在B上,SQL节点装在A上,一个Data节点装在vm-w1上,另一个Data节点装在vm-w2上。

1、先在A上装SQL节点:

http://dev.mysql.com/downloads/cluster/上下载zip包,解压后放在C盘根目录下,且将解压得到的文件名重设置为mysql,创建一个txt文件,之后以下内容放入这个txt中:

代码语言:javascript
复制
[mysqld]
# Options for mysqld process:
ndbcluster                      # run NDB storage engine
ndb-connectstring=192.168.155.2  # location of management server

之后另存为 C:\mysql\my.ini,即另存为my.ini(另存为时选的存储格式为ASCII)放在C:/mysql目录下。

2、装Data Nodes

在vm-w1上的C;/下创建目录mysql,即C:/mysql下创建文件夹bin和文件夹cluster-data。

之后创建一个txt文件,之后将以下内容放入其中:

代码语言:javascript
复制
[mysql_cluster]
# Options for data node process:
ndb-connectstring=192.168.155.2  # location of management server

另存为 C:\mysql\my.ini。

之后:在A上的C;/mysql/bin下有个ndbd.exe,将这个ndbd.exe拷贝到vm-w1的C;/mysql/bin下。

到此为止vm-w1上的配置已经完成。

在vm-w2上搭建步骤也和上面再vm-w1上的搭建步骤一致。

3、搭建管理节点

在B上搭建管理节点。

3.1、在C:/下创建目录mysql,在C:/mysql下创建文件夹bin和文件夹cluster-data,之后在C:/mysql/bin下创建文件夹cluster-logs。

3.2、在A的C;/mysql/bin下有ndb_mgm.exe和ndb_mgmd.exe,将这俩个文件拷贝到B的C:/mysql/bin下。

3.3、创建一个txt文件,在里面放入下面的内容:

代码语言:javascript
复制
[mysql_cluster]
# Options for management node process
config-file=C:/mysql/bin/config.ini

另存为 C:\mysql\bin\my.ini。

3.4、创建一个txt,在里面放入下面的内容:

代码语言:javascript
复制
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2                      # Number of replicas
DataDir=C:/mysql/cluster-data       # Directory for each data node's data files
                                    # Forward slashes used in directory path,
                                    # rather than backslashes. This is correct;
                                    # see Important note in text
DataMemory=80M    # Memory allocated to data storage
IndexMemory=18M   # Memory allocated to index storage
                  # For DataMemory and IndexMemory, we have used the
                  # default values. Since the "world" database takes up
                  # only about 500KB, this should be more than enough for
                  # this example Cluster setup.

[ndb_mgmd]
# Management process options:
HostName=192.168.155.2               # Hostname or IP address of management node
DataDir=C:/mysql/bin/cluster-logs   # Directory for management node log files

[ndbd]
# Options for data node "A":
                                # (one [ndbd] section per data node)
HostName=192.168.155.3           # Hostname or IP address

[ndbd]
# Options for data node "B":
HostName=192.168.155.4           # Hostname or IP address

[mysqld]
# SQL node options:
HostName=192.168.155.1           # Hostname or IP address

另存为 C:\mysql\bin\config.ini。

现在所有的搭建已经完成。

启动MySQL Cluster:

1、先在B上启动management node

C:/mysql/bin>ndb_mgmd

之后光标会处于服务状态(即不允许用户输入)

如果出现什么创建目录"System/CurrentControlSet/services/eventlog/Application/MySQL"失败,那么需要修改Windows7的注册表——打开注册表,在目录System/CurrentControlSet/services/eventlog/Application下创建一个名为"MySQL"的项。之后重新启动ndb_mgmd。

2、在vm-w1和vm-w2分别启动Data Node

C:/mysql/bin>ndbd

之后光标会处于服务状态

3、在B的management node启动ndb_mgm(用来查看连接信息的)

在B上重新开一个命令窗口,之后C:/mysql/bin/ndb_mgm。

之后用show来查看连接信息:

ndb_mgm>show

4、在A上启动mysql node

在A上输入mysqld --console:

C:/mysql/bin>mysqld --console

之后在A上另起一个窗口C:/>mysql -u root -p (之后直接回车)

之后会提示输入密码,直接回车就行(我搭建时没有设置密码)。

就会进入mysql的用户命令窗口。

关闭MySQL Cluster:

1、在A上退出mysql的用户命令窗口

2、在A的mysqld窗口,用Ctrl+C退出mysqld窗口

3、在B的ndb_mgm的窗口中输入shutdown来关闭Cluster

ndb_mgm>shutdown 

用JAVA连接MySQL Cluster:

首先在A的mysql命令窗口输入:

grant all on *.* to root@"192.168.155.1" identified by ""; 这是赋予权限让远程客户端连接数据库

之后就和普通的连接方式一样了,代码如下:

package com.yun.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.yun.utl.Out; public class ConnectToCluster { //grant all on *.* to root@"192.168.155.1" identified by ""; public static void main(String[] args) { String url = "jdbc:mysql://192.168.155.1:3306/test"; String user = "root"; String pwd = ""; try { Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection(url, user, pwd); //System.out.println(conn);    Statement stmt = conn.createStatement();    ResultSet rs = stmt.executeQuery("select * from person order by id");    while(rs.next()){     int id =rs.getInt("id");        String name = rs.getString("name");        int age = rs.getInt("age");        Out.println("id:"+id+"  age:"+age+"  name:"+name);    }    if(rs!=null){     rs.close();    }    if(stmt!=null){     stmt.close();    }    if(conn!=null){     conn.close();    } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016/03/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档