首页 > 代码库 > MySQL数据库管理(二)单机环境下MySQL Cluster的安装

MySQL数据库管理(二)单机环境下MySQL Cluster的安装

上文《MySQL数据库管理(一)MySQL Cluster集群简单介绍》对MySQL Cluster集群做了简要介绍。本文将教大家一步步搭建单机环境下的MySQL数据库集群。


一、单机环境搭建

    首先到MySQl官网上 下http://www.mysql.com/downloads/Cluster/下载所需的安装包。然后将下载得到的ZIP包解压到C:\ypl\mysql\mysqlc


    这个MySQL数据库的集群由一个MySQL服务引擎(mysqlds)、两个数据节点(ndbd)和一个管理节点(ndb_mgmd)组成,全部的节点都执行在同一台机器上。依次建立下面目录:
C:\ypl\mysql\my_Cluster
C:\ypl\mysql\my_Cluster\ndb_data
C:\ypl\mysql\my_Cluster\mysqld_data\ndbinfo
C:\ypl\mysql\my_Cluster\conf

之后,在C:\ypl\mysql\my_Cluster\conf目录中创建下述两个配置文件:
(1)my.cnf
    内容例如以下:

[mysqld]
ndbCluster
datadir=C:\\ypl\\mysql\\my_Cluster\\mysqld_data
basedir=C:\\ypl\\mysql\\mysqlc
port=3306
(2)config.ini
    内容例如以下:

[ndb_mgmd]
hostname=localhost
datadir=C:\ypl\mysql\my_Cluster\ndb_data
id=1

[ndbd default]
noofreplicas=2
datadir=C:\ypl\mysql\my_Cluster\ndb_data

[ndbd]
hostname=localhost
id=3

[ndbd]
hostname=localhost
id=4

[mysqld]
hostname=localhost

mysqld进程须要一个名为mysql的系统数据库,以存储必要的系统数据和用户数据。

故须要进行下面操作:

  • C:\ypl\mysql\mysqlc\data\mysql整个文件夹拷贝到C:\ypl\mysql\my_Cluster\ndb_data文件夹下。

  • 将C:\ypl\mysql\mysqlc\data\ndbinfo整个文件夹拷贝到C:\ypl\mysql\my_Cluster\ndb_data文件夹下。

在上述工作完毕后,就可以启动MySQL Cluster。


二、启动节点:管理节点-->数据节点-->SQl节点

(1)启动管理节点

进入命令行工具洁面后依次输入命令:

cd  C:\ypl\mysql\my_Cluster
start /B C:\ypl\mysql\mysqlc\bin\ndb_mgmd -f conf\config.ini --initial --configdir=C:\ypl\mysql\my_Cluster\conf

结果例如以下:

技术分享

技术分享


(2)启动数据节点

  • 启动第一个数据节点,输入命令:

start /B C:\ypl\mysql\mysqlc\bin\ndbd -c localhost:1186

  • 启动第二个数据节点。输入命令:

start /B C:\ypl\mysql\mysqlc\bin\ndbd -c localhost:1186


(3)启动MySQl服务引擎

输入命令:

start /B C:\ypl\mysql\mysqlc\bin\mysqld --defaults-file=conf\my.cnf

查看数据节点是否启动完成:

C:\ypl\mysql\mysqlc\bin\ndb_mgm  -e show

结果例如以下:

技术分享

技术分享

技术分享

技术分享

各个节点启动成功后。能够在进程里看到全部节点的进程。启动任务管理器,将看到结果。如图:

技术分享

连接到MySQLserver。输入命令:

C:\ypl\mysql\mysqlc\bin\mysql -u root -p123456



若连接成功。将出现例如以下界面:

技术分享

三、測试

创建数据库yplbeyond(注意使用ndb),在该数据库内创建表users,并插入数据

drop database if exists yplbeyond;

create database yplbeyond;
use yplbeyond;
create table users(
id int(3) auto_increment not null primary key,
uid char(50) not null,
pwd char(50) not null,
realname char(10) not null,
phone char(10) not null,
mail char(30) not null,
date datetime null
) engine=ndb;;
insert into users values(‘‘,‘人 民 大 学‘,‘rucedu‘,‘lizi‘,‘00000000‘,‘11@11‘,‘‘);
select * from users;


技术分享

技术分享

技术分享

技术分享

技术分享


注意此时与在MySQL中建表不同,须要在表的末尾加上“engine=ndb;”。由于使用的是MySQL Cluster。标的存储引擎是基于内存的NDB。而不是InnoDB。在目录ypl内搜索。能够查到C:\ypl\mysql\my_Cluster\ndb_data\ypl 文件夹下有刚创建的表。

同一时候应注意,当数据节点分布在不同机器上时,按InnoDB引擎存储的数据在其他数据节点上查不到,能够做对应的实验来验证。

MySQL Cluster的服务必须手动停止。服务停止后。其他集群节点能够使用管理节点(ndb_mgm)来停止。输入命令:

C:\ypl\mysql\mysqlc\bin\ndb_mgm -e shutdown

C:\ypl\mysql\mysqlc\bin\mysqladmin -u root -p123456 shutdown

结果例如以下:

技术分享

技术分享

技术分享



MySQL数据库管理(二)单机环境下MySQL Cluster的安装