mysql集群——(二)环境搭建
来源:互联网 发布:javascript split 编辑:程序博客网 时间:2024/05/22 10:44
1、MySQL集群简介
MySQL群集技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障。MySQL群集需要有一组计算机,每台计算机的角色可能是不一样的。MySQL群集中有三种节点:管理节点、数据节点和SQL节点。群集中的某计算机可能是某一种节点,也可能是两种或三种节点的集合。这三种节点只是在逻辑上的划分,所以它们不一定和物理计算机是一一对应的关系。
管理节点(也可以称管理服务器)主要负责管理数据节点和SQL节点,还有群集配置文件和群集日志文件。它监控其他节点的工作状态,能够启动、关闭或重启某个节点。其他节点从管理节点检索配置数据,当数据节点有新事件时就把事件信息发送给管理节点并写入群集日志。
数据节点用于存储数据。
SQL节点跟一般的MySQL服务器是一样的,我们可以通过它进行SQL操作。
下图中画出了三种群集节点及应用程序间的关系:
2、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
1)、MySQL简介
首先找三台电脑,或者是开三个虚拟机,管理节点部署在一台机子上,其他两台每台都部署一个数据节点和一个SQL节点。这里以两台机子举例,其中一台(IP为192.168.24.16)部署管理节点、数据节点和SQL节点,另一台(IP为192.168.24.43)部署数据节点和SQL节点。
实际应用中,不要将管理节点跟数据节点部署到一台机子上,因为如果数据节点宕机会导致管理节点不可用,同时整个MySQL群集也就都不可用了。所以一个MySQL群集理想情况下至少有三台服务器,将管理节点单独放到一台服务器上。这里以两台举例,只是为了说明三种节点的配置启动方法。
2)、配置管理节点
1、在IP为192.168.24.16的主机的C盘中新建文件夹mysql,然后在此文件夹下新建子目录bin和mysql-cluster,再将安装包中的bin目录下的ndb_mgm.exe和ndb_mgmd.exe拷贝到C:\mysql\bin下。在目录C:\mysql\bin下新建cluster-logs目录、config.ini文件和my.ini文件。2、config.ini文件内容如下:
3、my.ini中的内容如下:
3)、配置数据节点
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文件,文件内容为:
4)、配置SQL节点
1、在192.168.24.16主机的C:\mysqlcluster下新建子目录sqlnode,在C:\mysqlcluster\sqlnode下新建子目录mysql,将安装包文件解压到mysql目录下,然后在C:\mysqlcluster\sqlnode\mysql下新建my.ini文件,文件内容为:2、将my-default.ini 文件删除或更名为my-default.ini.bak
注:因为SQL节点的配置也是一样的,所以我们可以直接将192.168.24.16主机中的文件夹C:\mysqlcluster\sqlnode文件夹整个拷贝到192.168.24.43主机的C盘下。
3、启动MySQL Cluster
1)简介
在启动MySQL Cluster之前,首先要做的是保证每个SQL节点上的MySQL服务能够启动成功,并为每个SQL节点进行相关权限的分配以保证能够远程登录访问。然后依次启动三种节点。三种节点服务启动时,一定要按照先启动管理节点,后启动数据节点,再启动SQL节点的顺序进行。
2)、启动MySQL服务
1、进入C:\mysqlcluster\sqlnode\mysql\bin目录下,使用mysqld –install安装MySQL服务
2、使用net start mysql命令启动MySQL服务3)配置MySQL远程连接
1、进入C:\mysqlcluster\sqlnode\mysql\bin目录下,使用mysql –uroot –p,然后输入密码,设置root用户密码。2、 切换到mysql数据库,输入以下命令,为root用户分配远程连接的相关权限
4)、启动管理节点
1、在192.168.24.16主机中打开命令行窗口,切到C:\mysql\bin目录,输入:
注意,此命令行窗口不能关闭,除非你想停止服务。
2、也可以将其做成服务,在命令行中输入:
5)、启动数据节点
1、在192.168.24.16主机中打开新命令行窗口,切到C:\mysqlcluster\datanode\mysql\bin,输入:
2、也可以将其做成服务,在命令行中输入:
4、在192.168.24.16主机中打开新命令行窗口,切到目录C:\mysql\bin,输入:
回车,然后再输入:
回车,就可以查看数据节点的连接信息了。
6)、启动SQL节点
1、在192.168.24.16主机中打开新命令行窗口,切到C:\mysqlcluster\sqlnode\mysql\bin,输入:
2、也可以将其做成服务,输入:
3、以相同的方法在其他SQL节点,即192.168.24.43中启动SQL节点。
4、想要查看SQL节点的启动情况可以在192.168.1.10主机中同样打开新命令行,输入:
回车,再输入:
回车,就可以看到SQL节点的连接情况了。
4、测试MySQL Cluster
1)、在任一SQL结点,即192.168.24.16主机上新创建一个数据库myDB,可以看到其他SQL结点,即192.168.24.43均创建了一个MyDB数据库2)、在任一SQL结点,即192.168.24.16主机上的myDB中使用
新建一个student表,可以看到其他SQL结点,即192.168.24.43均在myDB数据库中创建了一个student表
3)、在任一SQL结点,即192.168.24.16主机上的myDB中的student表插入几条数据之后,可以看到其他SQL结点,即192.168.24.43均作了相关的变化
注:与没有使用 Cluster的MySQL相比,在MySQL Cluster内操作数据的方式没有太大的区别。执行这类操作时应记住两点:
1、表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,或用ALTER TABLE选项更改,以使用NDB Cluster存储引擎在 Cluster内复制它们。如果使用mysqldump的输出从已有数据库导入表,可在文本编辑器中打开SQL脚本,并将该选项添加到任何表创建语句,或用这类选项之一替换任何已有的ENGINE(或TYPE)选项。
2、另外还请记住,每个NDB表必须有一个主键。如果在创建表时用户未定义主键,NDB Cluster存储引擎将自动生成隐含的主键。(注释:该隐含 键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见)。
- mysql集群——(二)环境搭建
- 项目进阶 之 集群环境搭建(二)MySQL集群
- 项目进阶 之 集群环境搭建(二)MySQL集群
- MySQL Cluster (二) --- 单机搭建集群环境
- <转>MySQL Cluster (二) --- 单机搭建集群环境
- hadoop集群搭建(二)——集群环境配置
- (二)hadoop学习:集群环境搭建
- MYSQL集群部署(一)--环境搭建
- MySql集群环境搭建(windows平台)
- Linux环境redis集群搭建(二)集群维护
- Kubernetes(k8s)学习笔记(二)—— 环境及集群搭建
- 从零开始搭建hadoop分布式集群环境:(二)安装JDK
- Hadoop-2.7.1集群环境搭建步骤(二)
- Kafka开发实战(二)-集群环境搭建
- Hadoop集群化搭建(二)配置JAVA环境
- Spark学习之(二)Spark 集群环境搭建(standalone)
- MySQL Cluster (三) --- 3台机器搭建集群环境
- Hadoop环境搭建——集群篇
- codeforces 846A Curriculum Vitae
- 04. Yii 2.0 的MVC模式
- Oracle获取所有的上级和下级 connect by
- My eclipse设置tab为4个空格
- 拓扑排序问题
- mysql集群——(二)环境搭建
- 如何设置vim里字体颜色
- GitChat · 人工智能 | 人工智能产品测试方法探索
- srm500
- udev规则以及编写
- SQL语句 函数
- Swift 中的计算属性、懒存储属性、属性观察器
- PHP DB 数据库连接类
- jfinal中form表单后台数据验证