时间:2021-07-01 10:21:17 帮助过:27人阅读
项目进阶 之 集群环境搭建(二)MySQL集群 上次的博文中我们介绍了一下集群的相关概念,今天的博文我们介绍一下MySQL集群的相关内容。 1、MySQL集群简介 MySQL群集技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对
项目进阶 之 集群环境搭建(二)MySQL集群下图中画出了三种群集节点及应用程序间的关系:
下载MySQL集群:http://dev.mysql.com/downloads/cluster/
mysql-cluster-gpl-7.3.5-winx64.zip:
http://cdn.mysql.com/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.5-winx64.zip
mysql-cluster-gpl-7.3.5-win32.zip:
http://cdn.mysql.com/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.5-win32.zip
首先找三台电脑,或者是开三个虚拟机,管理节点部署在一台机子上,其他两台每台都部署一个数据节点和一个SQL节点。这里以两台机子举例,其中一台(IP为192.168.24.16)部署管理节点、数据节点和SQL节点,另一台(IP为192.168.24.43)部署数据节点和SQL节点。
实际应用中,不要将管理节点跟数据节点部署到一台机子上,因为如果数据节点宕机会导致管理节点不可用,同时整个MySQL群集也就都不可用了。所以一个MySQL群集理想情况下至少有三台服务器,将管理节点单独放到一台服务器上。这里以两台举例,只是为了说明三种节点的配置启动方法。
- [ndbd default]
- # Options affecting ndbd processes on all data nodes:
- # Number of replicas
- NoOfReplicas=2
- DataDir=c:/mysqlcluster/datanode/mysql/bin/cluster-data
- # Directory for each data node's data files
- # Memory allocated to data storage
- DataMemory=80M
- # Memory allocated to index storage
- IndexMemory=18M
- # For DataMemory and IndexMemory, we have used the
- # default values.
- [ndb_mgmd]
- # Management process options:
- # Hostname or IP address of management node
- HostName=192.168.24.16
- # Directory for management node log files
- DataDir=C:/mysql/bin/cluster-logs
- [ndbd]
- # Options for data node "A":
- # (one [ndbd] section per data node)
- # Hostname or IP address
- HostName=192.168.24.16
- [ndbd]
- # Options for data node "B":
- # Hostname or IP address
- HostName=192.168.24.43
- [mysqld]
- # SQL node options:
- # Hostname or IP address
- HostName=192.168.24.16
- [mysqld]
- # SQL node options:
- # Hostname or IP address
- HostName=192.168.24.43
3、my.ini中的内容如下:
- [mysql_cluster]
- # Options for management node process
- config-file=C:/mysql/bin/config.ini
1、在IP为192.168.24.16的主机中新建文件夹C:\mysqlcluster\datanode\mysql,然后在此文件夹中继续新建子目录bin和cluster-data,bin下再建一个子目录也叫cluster-data。
2、将安装包data目录下的所有文件拷贝到C:\mysqlcluster\datanode\mysql\cluster-data下
3、将安装包中bin目录下的ndbd.exe拷贝到C:\mysqlcluster\datanode\mysql\bin下,并在C:\mysqlcluster\datanode\mysql中新建my.ini文件,文件内容为:
注:因为数据节点的配置是一样的,所以我们可以直接将192.168.24.16主机中的文件夹C:\mysqlcluster拷贝到192.168.24.43主机的C盘下。
- [mysql_cluster]
- # Optionsfor data node process:
- #location of management server
- ndb-connectstring=192.168.24.16
2、将my-default.ini 文件删除或更名为my-default.ini.bak
- [mysqld]
- # Options for mysqld process:
- # run NDB storage engine
- ndbcluster
- # location of management server
- ndb-connectstring=192.168.24.16
在启动MySQL Cluster之前,首先要做的是保证每个SQL节点上的MySQL服务能够启动成功,并为每个SQL节点进行相关权限的分配以保证能够远程登录访问。然后依次启动三种节点。三种节点服务启动时,一定要按照先启动管理节点,后启动数据节点,再启动SQL节点的顺序进行。
1、进入C:\mysqlcluster\sqlnode\mysql\bin目录下,使用mysqld –install安装MySQL服务
2、 使用net start mysql命令启动MySQL服务
- GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
1、在192.168.24.16主机中打开命令行窗口,切到C:\mysql\bin目录,输入:
回车,管理节点服务就启动了,命令行上可能没有任何提示信息,可以打开C:\mysql\bin\cluster-logs\ndb_1_cluster.log日志文件查看启动信息。
- ndb_mgmd -f config.ini --configdir=C:\mysql\mysql-cluster
- ndb_mgmd --install=ndb_mgmd -f config.ini --configdir=C:\mysql\mysql-cluster
1、在192.168.24.16主机中打开新命令行窗口,切到C:\mysqlcluster\datanode\mysql\bin,输入:
- ndbd
2、也可以将其做成服务,在命令行中输入:
3、以相同的方法在其他数据节点,即192.168.24.43中启动数据节点服务。
- ndbd --install=ndbd
回车,然后再输入:
- ndb_mgm
回车,就可以查看数据节点的连接信息了。
- ALL STATUS
1、在192.168.24.16主机中打开新命令行窗口,切到C:\mysqlcluster\sqlnode\mysql\bin,输入:
回车,SQL节点启动。
- mysqld --console
3、以相同的方法在其他SQL节点,即192.168.24.43中启动SQL节点。
- mysqld -install mysql
回车,再输入:
- ndb_mgm
回车,就可以看到SQL节点的连接情况了。
- SHOW
新建一个student表,可以看到其他SQL结点,即192.168.24.43均在myDB数据库中创建了一个student表
- create table student (id int(2)) engine=ndbcluster;
到此为止关于MySQL集群的搭建就讲解完毕了,但是单纯的按照这样搭建还有一个缺陷,什么缺陷呢?咱们下次讲解,敬请期待!