您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

在Windows环境下配置MySQL集群_MySQL

2026/2/13 17:18:30发布17次查看
前言最近在项目中用到了mysql集群,所以就和小伙伴们研究了两天。下面给大家分享一下成果。
小编始终觉得对新事物的学习,没有比看图这种方式更好地理解了。所以先来看一张mysql集群的架构图(摘自百度百科-mysql cluster):
上图一共分了四层:applications、sql、storage、management。
如果您的英语不是体育老师教的的话,那么您肯定已经猜出来每一层的职责了:
—–applications主要是指需要连接数据库的应用程序;
—–sql中每一个mysqld都是一个sql节点,applications需要通过连接sql节点来存储数据,您可以把它看成应用程序与数据库集群进行数据交换的大门
—–storage有‘仓库’的意思,所以数据都是存在数据节点(ndbd)中的,而且每个数据节点的数据都是一致的,都是一整套最新的数据
—–management中就是管理节点,一个mysql中只有一个管理节点,用来管理其他节点
综上所述,一个mysql集群中包括三种节点(不包括applications):管理节点、数据节点,sql节点。
一、下载集群版mysql下载mysql-cluster-gpl-7.4.7-win32或mysql-cluster-gpl-7.4.7-winx64
下载地址:http://yunpan.cn/cd892rtysq3vk (提取码:45c8)
mysql官网下载地址:http://dev.mysql.com/downloads/cluster/
二、配置mysql集群需要用三台机器(没有条件的朋友可以考虑用虚拟机),一台配置管理节点:另外两台每台配置一个数据节点和一个sql节点(也可以用五台计算机,每台计算机配置一个节点):
管理节点:192.168.25.50
数据节点a:192.168.25.49
数据节点b:192.168.25.48
sql节点a:192.168.25.49
sql节点b:192.168.25.48
1、首先将下载压缩包解压到每台电脑的c:/mysql目录下:
当然放在其他盘的目录里也可以。
2、配置管理节点在配置管理节点(192.168.25.50)的计算机上的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.25.50 # 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.25.49 # hostname or ip address[ndbd] # options for data node b:hostname=192.168.25.48 # hostname or ip address[mysqld] # sql node a options:hostname=192.168.25.49 # hostname or ip address[mysqld] # sql node b options:hostname=192.168.25.48 # hostname or ip address
3、配置数据节点在配置数据节点(192.168.25.48、192.168.25.49)的计算机上的c:\mysql\bin目录下建立cluster-data文件夹,用来存放数据:
sql节点不用任何配置,至此,整个mysql集群就搭建完成了。
三、启动mysql集群启动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.25.50
3、启动每个sql节点:在cmd中运行如下命令:
c:\mysql\bin\mysqld.exe --ndbcluster --ndb-connectstring=192.168.25.50 --console
现在整个mysql集群就已经启动了。
4、查看每个节点的状态:在管理节点所在计算机上(192.168.25.50)打开ndb_mgm.exe,或者直接在cmd中运行
c:\mysql\bin\ndb_mgm
执行“show”命令,可以查看到每个节点的连接状态:
这就表明每个节点均连接正常。下面测试数据。
三、测试mysql集群1、在sql节点a建立数据库并插入数据:在sql节点a的计算机上(192.168.25.49)的cmd中运行c:\mysql\bin\mysql.exe -u root -p命令登录mysql,接下来需要输入密码时,密码默认为空(直接回车)。
创建数据库并插入数据:
—–创建名为”mysql_cluster_test”的数据库:
create database mysql_cluster_test;
—–创建表”t_user”:
use mysql_cluster_test;create table t_user(name varchar(32),age int) engine=ndbcluster;
注意建表语句后面一定要加上 engine=ndbcluster
—–插入数据:
insert into t_user values('dannyhoo',26);
—–查询数据:
select * from t_user;
2、在sql节点b也可以查询到数据。同样在sql节点b的计算机上(192.168.25.48)的cmd中运行c:\mysql\bin\mysql.exe -u root -p命令登录mysql。
执行 show databases; 命令可以查看到在sql节点a新建的数据库;
执行use mysql_cluster_test;
select * from t_user;
可以查询到在sql节点a插入的数据。
到这里,整个集群的搭建和测试就完成了。假如一个数据节点宕机,并不会影响整个集群的运行,任何一个数据节点死掉甚至物理损坏都不用担心,因为每个数据节点保存的数据都是完整的一份数据(在你操作数据的时候,它早就自动为你把最新的数据备份到每一个数据节点上啦)。你可以测试一下,这时手动停止某个数据节点和sql节点,另外一个数据节点和sql节点还会正常运行。当你把停止的数据节点和sql节点重新启动时,会发现又重新连接到集群里了,而且每个数据节点的数据都是最新的。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product