原文:http://blog.csdn.net/chenxiaochan/article/details/50856072
【准备工作】
1、mysql-cluster-gpl-7.4.9-winx64
下载方式:
2、两台电脑
一台配置管理节点,一个数据节点和一个sql节点,一台配置一个数据节点和一个sql节点。
管理节点:192.168.22.238
数据节点A:192.168.22.238
数据节点B:192.168.22.240
SQL节点A:192.168.22.238
SQL节点B:192.168.22.240
【搭建之路】
一、配置mysql集群
1、将下载的mysql集群压缩包解压到管理节点192.168.22.238的C:\mysql目录下:
2、配置管理节点:
在配置管理节点(192.168.22.238)的计算机上的C:\Mysql\Bin目录下建立cluster-logs和config两个文件夹。cluster-logs用来存储日志文件,在config文件夹中建立my.ini和config.ini两个配置文件:
my.ini
[mysql_cluster]
# Options for management node process
config-file=C:/mysql/bin/config/config.ini
config.ini
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataDir=C:/mysql/bin/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.22.238 # 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":
HostName=192.168.22.238 # Hostname or IP address
[ndbd]
# Options for data node "B":
HostName=192.168.22.240 # Hostname or IP address
[mysqld]
# SQL node A options:
HostName=192.168.22.238 # Hostname or IP address
[mysqld]
# SQL node B options:
HostName=192.168.22.240 # Hostname or IP address
3、配置数据节点:
在配置数据节点(192.168.25.48、192.168.25.49)的计算机上的C:\Mysql\Bin目录下建立cluster-data文件夹,用来存放数据:SQL节点不用任何配置,至此,整个MySQL集群就搭建完成了。
将管理节点(192.168.22.238)电脑C:\mysql文件拷到192.168.22.240电脑的C盘
二、启动mysql集群
启动顺序:管理节点→数据节点→sql节点
1、启动管理节点
在cmd中运行命令:
c:\mysql\bin\ndb_mgmd.exe --configdir=c:\mysql\bin\config --config-file=c:\mysql\bin\config\config.ini --ndb-nodeid=1 --reload –initial
2、启动每个数据节点:
在cmd中运行如下命令:
c:\mysql\bin\ndbd.exe --ndb-connectstring=192.168.22.238
3、启动每个sql节点:
在cmd中运行如下命令:
c:\mysql\bin\mysqld.exe --ndbcluster --ndb-connectstring=192.168.22.238 --console
4、查看每个节点的状态
在cmd命令中运行:c:\mysql\bin\ndb_mgm,再执行“show”命令,可以查看到每个节点的连接状态:
这就表明每个节点均连接正确。
【测试mysql集群】
1、在sql节点A建立数据库并插入数据:
在sql节点A的计算机上(192.168.22.238)的cmd中运行C:\mysql\bin\mysql.exe -u root -p命令登录mysql,接下来需要输入密码时,密码默认为空(直接回车)。
·创建名为“chan”的数据库:
create database chan;
·创建名为“T_chan”的表:
use chan;
create table T_chan(Name varchar(23),Age int) engine=ndbcluster;
注意建表语句后面一定要加上 engine=ndbcluster,为什么要加上,在下一篇博客中会介绍。
·插入数据:
insert into T_chan values('chan',23);
·查询数据:
select * from T_chan;
2、在sql节点B查到数据
在sql节点B的计算机上(192.168.22.240)的cmd中运行C:\mysql\bin\mysql.exe -u root -p命令登录mysql。
执行 show databases; 命令可以查看到在sql节点A新建的数据库;
执行
use chan;
select * from T_chan;
可以查询到在sql节点A插入的数据。
到这里mysql集群搭建就已经完成了。在搭建过程中也遇到了一些问题,在接下来的博客中,将会将会把我遇到的问题分享给大家。
【总结】
mysql集群我们现在做到的是加入一个数据节点宕机后,不会影响整个集群的运行,数据也不会丢失,保证了数据的完整性。