windows能在一台计算机上配置mysqlcluster吗

2025-04-13 16:33:11
推荐回答(1个)
回答1:

何在Windows系统中配置Mysql群集(MysqlCluster) MySQL群集技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障。 Mysql群集(Cluster)简介 MySQL群集需要有一组计算机,每台计算机的角色可能是不一样的。MySQL群集中 有三种节点:管理节点、数据节点和SQL节点。群集中的某计算机可能是某一种节点,也可能是两种或三种节点的集合。这三种节点只是在逻辑上的划分,所以它们不一定和物理计算机是一一对应的关系。 管理节点(也可以称管理服务器)主要负责管理数据节点和SQL节点,还有群集配 置文件和群集日志文件。它监控其他节点的工作状态,能够启动、关闭或重启某个节点。其他节点从管理节点检索配置数据,当数据节点有新事件时就把事件信息发送给管理节点并写入群集日志。 数据节点用于存储数据。 SQL节点跟一般的MySQL服务器是一样的,我们可以通过它进行SQL操作。下图中画出了三种群集节点及应用程序间的关系:MySQLCluster的下载 我们使用的MysqlServer已经不能满足群集的要求,配置群集需要使用MySQL Cluster。 MySQLCluster支持Linux、MacOSX、Solaris和Windows操作系统。鸡啄米以Windows 系统下的MySQLCluster版本MySQLCluster7.2.5为例说明MySQLCluster的配置和启动。 MySQLCluster的下载地址是http://dev.mysql.com/downloads/cluster。如果你的操作 系统是32位的,就选择Windows(x86,32-bit),ZIPArchive下载,大小为228.9M,如果是64位的,就下载Windows(x86,64-bit),ZIPArchive,大小为232.7M。它们都是免安装的二进制版本。 MySQLCluster的配置 首先找三台电脑,或者是开三个虚拟机,管理节点部署在一台机子上,其他两台每 台都部署一个数据节点和一个SQL节点。鸡啄米这里以两台机子举例,其中一台(IP为192.168.1.10)部署管理节点、数据节点和SQL节点,另一台(IP为192.168.1.20)部署数据节点和SQL节点。 其实最好不要将管理节点跟数据节点部署到一台机子上,因为如果数据节点宕机会 导致管理节点也不可用,整个MySQL群集就都不可用了。所以一个MySQL群集理想情况下至少有三台服务器,将管理节点单独放到一台服务器上。鸡啄米暂以两台举例,只是为了说明三种节点的配置启动方法。 1.将上面下载的安装包解压,并改文件夹名为mysql,因为需要多次在命令行中操作, 所以名字改短后更容易输入。 2.配置管理节点 在IP为192.168.1.10的主机的C盘中新建文件夹mysql,然后在此文件夹下新建子 目录bin和mysql-cluster,再将安装包解压后的mysql\bin中的ndb_mgm.exe和ndb_mgmd.exe拷贝到C:\mysql\bin下。在目录C:\mysql\bin下新建cluster-logs目录、config.ini文件和my.ini文件。
iphone手机套http://www.7777fx.com/ config.ini文件的内容如下:[ndbddefault] #Optionsaffectingndbdprocessesonalldatanodes:NoOfReplicas=2#NumberofreplicasDataDir=c:/mysqlcluster/datanode/mysql/bin/cluster-data #Directoryforeach datanode'sdatafiles DataMemory=80M#MemoryallocatedtodatastorageIndexMemory=18M #Memoryallocatedtoindexstorage #ForDataMemoryandIndexMemory,wehave usedthe #defaultvalues. [ndb_mgmd] #Managementprocessoptions:HostName=192.168.1.10 #HostnameorIPaddressofmanagement node DataDir=C:/mysql/bin/cluster-logs#Directoryformanagementnodelogfiles[ndbd] #Optionsfordatanode"A": #(one[ndbd]sectionperdatanode)HostName=192.168.1.10#HostnameorIPaddress[ndbd] #Optionsfordatanode"B":HostName=192.168.1.20#HostnameorIPaddress[mysqld] #SQLnodeoptions:HostName=192.168.1.10#HostnameorIPaddress[mysqld] #SQLnodeoptions:HostName=192.168.1.20#HostnameorIPaddressmy.ini中的内容为:[mysql_cluster] #Optionsformanagementnodeprocessconfig-file=C:/mysql/bin/config.ini 3.配置数据节点 在IP为192.168.1.10的主机中新建文件夹C:\mysqlcluster\datanode\mysql,然后在 此文件夹中继续新建子目录bin和cluster-data,bin下再建一个子目录也叫cluster-data。 将安装包解压文件夹中mysql\bin中的ndbd.exe拷贝到 C:\mysqlcluster\datanode\mysql\bin下,并在C:\mysqlcluster\datanode\mysql\bin中新建my.ini文件,文件内容为: [mysql_cluster] #Optionsfordatanodeprocess:ndb-connectstring=192.168.1.10#locationofmanagementserver 因为两台主机的数据节点的配置是一样的,所以我们可以直接将192.168.1.10主机
iphone手机套http://www.7777fx.com/ 中的文件夹C:\mysqlcluster拷贝到192.168.1.20主机的C盘下。 4.配置SQL节点 在192.168.1.10主机的C:\mysqlcluster下新建子目录sqlnode,将安装包解压文件夹 mysql整个拷贝到这个子目录下,然后在C:\mysqlcluster\sqlnode\mysql\bin下新建my.ini文件,文件内容为: [mysqld] #Optionsformysqldprocess:ndbcluster#runNDBstorageenginendb-connectstring=192.168.1.10#locationofmanagementserver 之后也把C:\mysqlcluster\sqlnode文件夹整个拷贝到192.168.1.20主机的相同目录 下。 MySQLCluster的启动 三种节点服务启动时,一定要按照先启动管理节点,后启动数据节点,再启动SQL 节点的顺序进行。 1.启动管理节点 在192.168.1.10主机中打开命令行窗口,切到C:\mysql\bin目录,输入:ndb_mgmd-fconfig.ini--configdir=C:\mysql\mysql-cluster回车,管理节点服务就启动了,命令行上可能没有任何提示信息,可以打开 C:\mysql\bin\cluster-logs\ndb_1_cluster.log日志文件查看启动信息。注意,此命令行窗口不能关闭,除非你想停止服务。 2.启动数据节点 在192.168.1.10主机中打开一个新的命令行窗口,切到目录 C:\mysqlcluster\datanode\mysql\bin,输入: ndbd回车,数据节点就启动了。 以相同的方法在192.168.1.20中启动数据节点服务。 如何查看是否启动成功呢?我们可以在192.168.1.10主机中再新开一个命令行窗 口,切到目录C:\mysql\bin,输入: ndb_mgm 回车,然后再输入:ALLSTATUS 回车,就可以看到数据节点的连接信息了。3.启动SQL节点 在192.168.1.10主机中继续打开一个新的命令行窗口,切到目录 C:\mysqlcluster\sqlnode\mysql\bin,输入: mysqld--console 回车,SQL节点启动。 以相同的方法在192.168.1.20中启动SQL节点。 想要查看SQL节点的启动情况可以在192.168.1.10主机中同样打开新命令行,输入:ndb_mgm回车,再输入:SHOW 回车,就可以看到SQL节点的连接情况了。测试MySQLCluster
iphone手机套http://www.7777fx.com/ 我们需要测试三种情况: 1.在任一SQL节点对数据节点进行操作后,各数据节点是否能够实现数据同步。例 如,我们在192.168.1.10主机上新创建一个数据库myDB,然后再建一个表student,插入若干数据,接着我们到192.168.1.20主机上查看是否能看到新的数据库myDB和新的表student以及插入数据。 2.当关闭任一数据节点后,在所有SQL节点中进行操作是否不受其影响。例如,我 们关闭192.168.1.10主机上的数据节点服务,在两台主机上应该能够继续对数据库进行各种操作。 3.关闭某数据节点进行了数据库操作,然后重新启动,所有SQL节点的操作是否正 常。 这里要说明的是,通过SQL节点创建新的数据库时,必须在create语句中使用 “engine=ndbcluster”选择ndbcluster数据库引擎,否则创建的数据库不会加到MySQL群集系统中,只能作为普通的数据库独立使用。