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

window下的mysql集群搭建

2014-07-14 21:29 393 查看
MySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高性能,对硬件要求较低,但是对内存要求较大。

架构图



图释:

1 ) Sql 结点( SQL node-- 上图对应为 mysqld ) : 分布式数据库。包括自身数据和查询中心结点数据 .

2 )数据结点 (Data node -- ndbd): 集群共享数据 ( 内存中 ).

3 )管理服务器 (Management Server – ndb_mgmd): 集群管理 SQL node,Data node.

下载地址:http://dev.mysql.com/downloads/cluster/



部署

节点

IP

管理(MGM)节点

192.168.1.193

数据(NDBD)节点A

192.168.1.193

数据(NDBD)节点B

192.168.1.194

MySQL服务器(SQL)节点1

192.168.1.193

MySQL服务器(SQL)节点2

192.168.1.194

注:建议管理节点单独部署在一个服务器上

节点配置

Management node的配置

1、在192.168.1.193主机的C盘下新建目录mysql

2、在mysql目录下新建文件夹bin和文件夹mysql-cluster

3、将安装包中bin目录下的ndb_mgm.exe和ndb_mgmd.exe拷贝至新建的目录 c:\mysql\bin下

4、在目录c:\mysql\bin下新建cluster-logs文件夹、config.ini文件和my.ini文件

Config.ini 的内容:

[ndbd default]
# Options affecting ndbd processes on all data nodes:
# Number of replicas
NoOfReplicas=2
DataDir=c:/mysqlcluster/datanode/mysql/bin/cluster-data
# Directory for each data node's data files

DataMemory=80M     # Memory allocated to data storage
IndexMemory=18M    # Memory allocated to index storage
# For DataMemory and IndexMemory, we have used the
# default values.

[ndb_mgmd]
# Management process options:
HostName=192.168.1.193             # 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.1.193   # Hostname or IP address
[ndbd]
# Options for data node "B":
HostName=192.168.1.194   # Hostname or IP address
[mysqld]
# SQL node options:
HostName=192.168.1.193   # Hostname or IP address
[mysqld]
# SQL node options:
HostName=192.168.1.194   # Hostname or IP address

my.ini 的内容:

[mysql_cluster]
# Options for management node process
config-file=C:/mysql/bin/config.ini


创建层级结构如下图所示:



Data nodes的配置

1、在192.168.1.193主机C盘目录下新建C:\mysqlcluster\datanode\mysql目录

2、然后在mysql目录下创建子目录bin和cluster-data

3、在bin目录下再新建一个子目录cluster-data

4、将安装包data目录下所有的文件拷贝到mysqlcluster\datanode\mysql\cluster-data目录下

5、将安装包bin目录下的ndbd.exe拷贝到C:\mysqlcluster\datanode\mysql\bin目录下

6、在C:\mysqlcluster\datanode\mysql中新建my.ini文件

my.ini 内容:

[mysql_cluster]
#Optionsfor data node process:
ndb-connectstring=192.168.1.193    #location of management server


创建层级结构如下图所示:



★到此数据节点的配置完毕,直接将刚配置好的文件拷贝到另外一个数据节点192.168.1.194服务器上。

SQL node的安装配置

1、在192.168.1.193主机上的C盘目录下创建C:\mysqlcluster\sqlnode目录

2、在sqlnode目录下创建子目录mysql,将安装包文件解压到mysql目录下

3、在C:\mysqlcluster\sqlnode\mysql下新建my.ini文件

my.ini 内容:

[mysqld]
# Options for mysqld process:
ndbcluster                        # run NDB storage engine
ndb-connectstring=192.168.1.106   # location of management server


4、将my-default.ini文件删除或者更名为my-default.ini.bak

创建层级结构如下图所示:



★到此SQL节点的配置完毕,直接将刚配置好的文件拷贝到另外一个数据节点192.168.1.194服务器上。

启动服务

权限配置

启动MySQL Cluster之前,首先要保证SQL节点上的MySQL服务能够正常启动,并为每个SQL节点进行相关权限的分配以保证能够远程登录访问

1、启动

1)192.168.1.193主机中进入C:\mysqlcluster\sqlnode\mysql\bin目录下

2)使用mysqld –install安装MySQL服务

3)使用net start mysql命令启动MySQL服务



2、配置mysql远程链接分配权限

1)192.168.1.193主机中进入进入C:\mysqlcluster\sqlnode\mysql\bin目录下

2)使用mysql –uroot test命令进入服务(默认密码为test)

3)切换到mysql数据库,为root用户分配远程连接的相关权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;



★重复上述操作在192.168.1.194主机上,保证194主机SQL节点上的MySQL服务能够正常启动,并为该SQL节点进行相关权限的分配以保证能够远程登录访问

启动三种节点,三种节点服务器启动时,一定要先按照启动管理节点、后启动数据节点、最后启动SQL节点的顺序进行。

启动管理节点

1、在192.168.1.193主机中打开命令行窗口,切换到C:\mysql\bin目录,输入:

ndb_mgmd -f config.ini --configdir=C:\mysql\mysql-cluster

管理节点服务就启动了,这里提示管理节点不要和数据节点在同一台主机上,否则如果数据节点崩溃导致管理节点也会崩溃,则该集群也就shutdown了,所以有条件的话最好把管理节点单独配置在一台独立的主机上。



注意,此命令行窗口不能关闭,除非你想停止服务。

此时可以打开C:\mysql\bin\cluster-logs\ndb_1_cluster.log日志文件查看启动信息。

2、也可以将其做成服务,在命令行中输入:

ndb_mgmd --install=ndb_mgmd -f config.ini --configdir=C:\mysql\mysql-cluster

启动数据节点

在192.168.1.193主机上,打开cmd窗口,切换到C:\mysqlcluster\datanode\mysql\bin,输入ndbd



也可以将其做成windows服务,在命令行输入如下命令即可:

ndbd --install=ndbd


★相同的方法启动192.168.1.193主机上数据节点服务

启动SQL节点

在192.168.1.193主机中打开命令行窗口,切换到C:\mysqlcluster\sqlnode\mysql\bin,输入mysqld --console



同样可以将其做成windows服务启动,输入以下命令即可:

mysqld -install mysql

★相同的方法启动192.168.1.194主机上SQL节点服务。

查看集群服务运行状态

在192.168.1.193主机上,切换目录至c:\mysql\bin,打开命令行窗口,输入ndb_mgm,然后输入show即可,如下图-3.23所示表示整个集群架构服务都正常启动了。



测试

1、在192.168.1.193数据库中创建表(注意:engine=ndbcluster)

create table city(
nId mediumint unsigned not null auto_increment primary key,
sName varchar(20) not null<span style="font-family: Arial;">)engine=ndbcluster default charset utf8;</span>

2、查询192.168.1.194可以查出刚在193上创建的表在194上同样存在,测试成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: