Windows下搭建MySQL集群

来源:互联网 发布:上海淘宝城关门了吗 编辑:程序博客网 时间:2024/05/01 21:43

本文将讨论在Windows下搭建MySQL集群的步骤和搭建过程中应当注意的问题。

由于机器数量和性能有限,搭建环境为一台宿主机(IP:10.200.178.191),一台虚拟机(IP:10.200.178.192)。

管理节点、数据存储节点和SQL节点的分配情况如下:

管理节点:10.200.178.191

数据存储节点:10.200.178.192

SQL节点:10.200.178.191和10.200.178.192

注意:生产环境中最好不要将数据存储节点和管理节点放在同一台机器上,否则如果数据存储节点宕机,将导致管理节点宕机,最终后果是整个集群宕机。

第一步:安装MySQL CLuster集群,下载地址:http://dev.mysql.com/downloads/cluster,下载Windows下的MySQL Cluster。

注意:如果在配置实例的过程中出现"mysql Error Nr. 2003”错误,说明本机安装了IPV6,导致MySQL无法解析localhost为127.0.0.1。

解决方法:在cmd中运行 ipv6 uninstall,安装后在cmd中运行ipv6 install 就可以避免上述问题了,如果ping localhost时结果如下图所示,表示正确。

第二步:配置MySQL集群

   2.1:配置config.ini文件

在10.200.178.191机器的C:\mysql\mysql-cluster目录下,新建config.ini初始文件,内容如下:

[NDBD DEFAULT]#ndbd节点的默认配置NoOfReplicas=1#因为每组数据节点个数,组数=数据节点总数/NoOfReplicas,且组数必须为整数,#否则将报Nodegroup i has j members,NoOfReplicas=x此类错#误DataDir=C:\mysql\mysql-cluster\bin\cluster-data   #Data node storage directory,ndbd配置的datadir优先级更高DataMemory=80M    # 数据存储分配的内存,酌情设置   IndexMemory=18M   # 索引存储分配的内存,酌情设置[MYSQLD DEFAULT][NDB_MGMD DEFAULT][TCP DEFAULT]#management node[NDB_MGMD]HostName=10.200.178.191#data storage node 1#[NDBD]#HostName=10.200.178.191#DataDir= D:\cluster-data#若没有,请先创建该目录#data storage node 2[NDBD]HostName=10.200.178.192DataDir= D:\cluster-data#sql node 1[MYSQLD]HostName=10.200.178.191#sql node 2[MYSQLD]HostName=10.200.178.192

   2.2:配置my.ini文件

在10.200.178.191机器的MySQL安装目录的bin下,找到my.ini,配置该机器为MySQL节点,在该文件末尾添加如下内容:

[mysqld]                        ndbcluster#mysql服务将作为群集的 SQL 节点启动ndb-connectstring=10.200.178.191#管理节点IP

在10.200.178.192机器的MySQL安装目录的bin下,找到my.ini,配置该机器为数据存储节点和MySQL节点,在该文件末尾添加如下内容:

[mysqld]#MySQL节点                        ndbclusterndb-connectstring=10.200.178.191#管理节点IP[mysql_cluster]#数据存储节点ndb-connectstring=10.200.178.191#管理节点IP

注意:每一次对配置文件进行修改后,务必重新启动MySQL服务。

第三步:启动MySQL集群

MySQL集群的启动顺序为管理节点、数据节点和SQL节点

   3.1:启动管理节点

在10.200.178.191机器的cmd下输入ndb_mgmd -f "C:\mysql\mysql-cluster\config.ini"

注意:运行上述命令的前提是已将MySQL的bin目录添加到了环境变量中的Path目录下。
   3.2:启动数据节点

在10.200.178.192机器的cmd下输入ndbd.exe --initial

注意:第一次启动数据节点必须加上 --initial,如果再次启动时加 --initial会将所有的数据干掉

   3.3:启动sql节点

默认情况下是如果开启动了MySQL服务,表示已开启了SQL节点。

第四步:查看MySQL集群状态

 在任何一台机器的cmd下输入ndb_mgm回车后,输入show查看集群的状态,如下图所示:

第五步:测试MySQL集群

 在任何一台SQL节点上创建数据库cluster,sql如下:

create table people(id int, name varchar(10)) engine=ndbcluster default charset utf8;

在任何一台SQL节点的mysql客户端下插入数据,然后在任何一台SQL节点的mysql客户端下查询数据。

第六步:关闭MySQL集群

MySQL集群的关闭顺序是SQL节点、存储节点、管理节点

在集群中每一台机器的cmd下输入net stop mysql关闭SQL节点

在集群中任何一台机器的cmd下输入ndb_mgm回车后,输入shutdown -e关闭数据存储结点和管理结点

原创粉丝点击