window7 MySql Cluster数据库集群配置

MySql Cluster数据库集群配置

先来看一张mysql集群的架构图:

wKiom1Y4IwHBBs_mAAHoZDQP8pQ314.jpg

上图一共分了四层:ApplicationsSQLStorageManagement 

 

�CApplications主要是指需要连接数据库的应用程序; 


�CSQL
中每一个mysqld都是一个sql节点,Applications需要通过连接sql节点来存储数据,您可以把它看成应用程序与数据库集群进行数据交换的大门


�CStorage
仓库的意思,所以数据都是存在数据节点(ndbd)中的,而且每个数据节点的数据都是一致的,都是一整套最新的数据 


�CManagement
中就是管理节点,一个MySQL中只有一个管理节点,用来管理其他节点

 

配置环境:

1、         windows7系统

2、         三台电脑或者虚拟机  Vmware 10 创建3台虚拟机

3、         mysql-cluster-gpl-7.4.7-win32

4、         全部把防火墙关了

5、         解压mysql-cluster-gpl-7.4.7-win32

 

拟定节点机器:

1、         管理节点:      192.168.131.128

2、         数据节点A   192.168.131.129

3、         数据节点B   192.168.131.131

4、         SQL节点A    192.168.131.129

5、         SQL节点B    192.168.131.131


管理节点机器配置:

 

管理节点机器建立如下文件夹:

1、C:\ProgramFiles\mysqlcluster\datanode\mysql\bin\cluster-data

2、C:\mysql\bin\cluster-logs

3、C:\mysql\mysql-cluster

4、C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster

 

C:\mysql\bin路径下进行如下操作:

1、创建config.ini

2、创建my.ini

3、粘帖mysql-cluster-gpl-7.4.7-win32\mysql\bin\ndb_mgm.exe

4、粘帖mysql-cluster-gpl-7.4.7-win32\mysql\bin\ndb_mgmd.exe

 

如下图所示:

wKioL1Y4I_zhYbYUAAD9PH8Kplo250.jpg

config.ini配置:

 

[NDBDDEFAULT] 

NoOfReplicas=2 

DataDir=C:/ProgramFiles/mysqlcluster/datanode/mysql/bin/cluster-data 

DataMemory=80M 

IndexMemory=18M 

 

[MYSQLDDEFAULT] 

[NDB_MGMDDEFAULT] 

[TCP DEFAULT] 

 

[NDB_MGMD] 

ID=1 

HostName=192.168.131.128#管理节点服务器 

# StorageEngines 

DataDir=C:/mysql/bin/cluster-logs 

 

[NDBD] 

ID=2 

HostName=192.168.131.129#MySQL集群db1IP地址 

DataDir=C:/ProgramFiles/mysqlcluster/datanode/mysql/bin/cluster-data 

 

[NDBD] 

ID=3 

HostName=192.168.131.131#MySQL集群db2IP地址 

DataDir=C:/ProgramFiles/mysqlcluster/datanode/mysql/bin/cluster-data 

 

[MYSQLD] 

ID=4 

HostName=192.168.131.129

 

[MYSQLD] 

ID=5 

HostName=192.168.131.131

 

 

my.ini配置:

 

[mysql_cluster]

       # Options for management node process

       config-file=C:/mysql/bin/config.ini

 

==========================配置完成=======================



数据节点配置:

数据节点机器创建如下文件夹:

1、C:\ProgramFiles\mysqlcluster\datanode\mysql\bin\cluster-data

2、C:\Program Files\mysqlcluster\datanode\mysql\cluster-data

3、C:\Program Files\mysqlcluster\sqlnode   //(SQL节点文件夹)

 

C:\ProgramFiles\mysqlcluster\datanode\mysql\bin进行如下操作:

1、创建my.ini文件

2、粘帖mysql-cluster-gpl-7.4.7-win32\mysql\bin\ndbd.exe

 

my.ini配置:

[mysql_cluster]

# Options for data node process:

ndb-connectstring=192.168.131.128   # location of management server

 

另一台192.168.131.131数据节点同样配置。my.ini配置一样


wKiom1Y4JGzDvELtAALd-ya1IeM137.jpg




==========================配置完成=======================


SQL节点配置:

C:\Program Files\mysqlcluster\sqlnode下:

1、mysql-cluster-gpl-7.4.7-win32文件改名为mysql

2、mysql整个文件粘帖到此

3、mysql根目录创建my.ini文件

 

my.ini配置:

[mysqld]

# Options for mysqld process:

ndbcluster                        # run NDB storageengine

ndb-connectstring=192.168.131.129   # location of management server

 

       另一台192.168.131.131 SQL节点同样配置。my.ini配置为192.168.131.131


wKioL1Y4JQ3ACfntAAIBVIuk0qQ003.jpg==========================配置完成=======================


一些空文件夹是用来存放一些缓存,

以及一些日志文件的,不用理会。只要创建空文件夹就行了。

至此,整个MySQL集群就搭建完成了。


启动服务前,我们需要到注册表去注册一下mysql

管理节点注册表设置:

//注册表

regedit--打开注册表

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\

下新建创建KEY

MySQL ClusterManagement Server

 

 

数据节点和SQL节点注册表统一配置:

regedit--打开注册表

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\

下新建创建KEY

MySQL Cluster DataNode Daemon

 

 

启动数据库集群也是有顺序的。

管理节点à数据节点àSQL节点

 

以下都是cmd命令实现

 

//启动管理节点

切到:

C:\mysql\bin

输入:

ndb_mgmd -fconfig.ini --configdir=C:\mysql\mysql-cluster

wKiom1Y4JVDiTICTAAG1HDVGzFw325.jpg


//启动数据节点

启动数据节点

切到:

C:\ProgramFiles\mysqlcluster\sqlnode\mysql\bin

输入:

ndbd--connect-string="nodeid2;host=192.168.131.128:1186"

//nodeid2是根据管理节点的配置文件config.ini中的id决定的,如果id2,则为nodeid2,配置文件中未指定id,则按顺序执行。


wKiom1Y4JbajryihAAGMs4Rkkco904.jpg


//启动SQL节点

sql节点和数据节点是同一台电脑上,所以新打开一个cmd界面

切到:

C:\ProgramFiles\mysqlcluster\sqlnode\mysql\bin

输入:

mysqld.exe--ndbcluster --ndb-connectstring=192.168.131.128 �Cconsole


wKiom1Y4JkjCKC5ZAAUj-9N7uVs030.jpg


启动完成之后,可以在管理节点查询连接情况:

切到

C:\mysql\bin

输入:

ndb_mgm 

再输入:

show或者ALL STATUS  


wKiom1Y4JrrTHL5NAAHsVFM7nOI123.jpg


上图只是启动了192.168.131.129这台虚拟机的服务,只连了这个

 

最后还有一点需要特别注意:

       注意建表语句后面一定要加上 engine=ndbcluster



测试MySQL集群

1、在sql节点A建立数据库并插入数据:


sql节点A的计算机上(192.168.131.129)的cmd中运行C:\Program 

Files\mysqlcluster\sqlnode\mysql\bin\mysql.exe -u root-p命令登录mysql

接下来需要输入密码时,密码默认为空(直接回车)。

创建数据库并插入数据: 


―�C
创建名为”MySQL_Cluster_Test”的数据库:

    createdatabase MySQL_Cluster_Test;


―�C创建表”T_User”

    use MySQL_Cluster_Test;

    createtable T_User(Name varchar(32),Age int) engine=ndbccluster

    注意建表语句后面一定要加上 engine=ndbcluster

―�C插入数据:

    insert into T_User values('DannyHoo',26);


―�C查询数据:

    select * from T_User;


wKiom1Y4J3ChM9-pAAI5J0Dqc4U589.jpg


2、在sql节点B也可以查询到数据。



同样在sql节点B的计算机上(192.168.131.131)的cmd中运行C:\Program 

Files\mysqlcluster\sqlnode\mysql\bin\mysql.exe -u root -p命令登录mysql


执行 show databases; 命令可以查看到在sql节点A新建的数据库; 


执行use MySQL_Cluster_Test; 

    select * from T_User; 

可以查询到在sql节点A插入的数据。


wKioL1Y4KB3ySVTyAAHJEtev7zE223.jpg


=========================================我是分割线=======================================


到这里,整个集群的搭建和测试就完成了。假如一个数据节点宕机,并不会影响整个集群的运行,任何一个数据节点死掉甚至物理损坏都不用担心,因为每个数据节点保存的数据都是完整的一份数据(在你操作数据的时候,它早就自动为你把最新的数据备份到每一个数据节点上啦)。你可以测试一下,这时手动停止某个数据节点和sql节点,另外一个数据节点和sql节点还会正常运行。当你把停止的数据节点和sql节点重新启动时,会发现又重新连接到集群里了,而且每个数据节点的数据都是最新的。



你可能感兴趣的:(mysql,mysql,cluster,cluster,windows7,数据库集群,MySql数据库集群)