探索MySQL-Cluster奥秘系列之SQL节点(3)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 在上一小节中,我们对MySQL-Cluster集群的管理节点进行了介绍,那么接下来,我们继续进行讲解,来了解下MySQL-Cluster集群的SQL节点的作用和功能。

在上一小节中,我们简单讲解了 MySQL-Cluster 的管理节点,为了明白 MySQL-Cluster 集群中每个节点的作用,在这一小节中,我们来认识一下 MySQL-Cluster 集群中的 SQL 节点。

MySQL-Cluster 中的 SQL 节点,就是我们之前学习到的 mysqld 服务器,SQL节点是应用访问数据的入口,但却不存储任何数据。

在 MySQL-Cluster 集群中,数据是存储在数据节点上的,当业务系统需要访问数据时,首先会连接到 SQL 节点上,然后 SQL 节点接收 SQL 语句后进行解析,之后再到数据节点中进行数据的提取,最后再由 SQL 节点将数据返回给应用端。

具体流程图,如下所示:

网络异常,图片无法展示
|

一般来说,SQL 节点越多,分配到每个 SQL 节点的负荷就越小,MySQL-Cluster 整体的性能就越好。

那么对于 SQL 节点的日常操作和我们之前学习的 MySQL 的操作基本上相同。

对于 SQL 节点的服务同样是使用 mysqld 或者 mysql_safe 工具来启动,在 SQL 节点的配置文件中会记录服务的端口及数据目录还有管理节点的地址,具体 SQL 节点配置文件的示例如下所示:

[mysqld]
ndbcluster
datadir=/mysql/mydata
basedir=/usr/local/mysql
socket=/mysql/mydata/mysql.sock
port=3306
character_set-server=utf8
ndb-connectstring=192.168.1.3
user=mysql
ndbcluster
ndb-connectstring=192.168.1.3
[mysql_cluster]
ndb-connectstring=192.168.1.3
[client]
default_character_set=utf8
socket=/mysql/mydata/mysql.sock

我们可以看到,在配置文件中,很多参数内容都和 MySQL 服务的内容一样,比如[mysqld]和[client]中配置的参数基本上是一样的。不过你要注意,虽然在 SQL 节点的配置文件中有数据文件目录参数,但是对于 MySQL-Cluster 集群的业务数据实际上是存储在数据节点上,所以在 SQL 节点上的数据目录下只会记录一些元数据信息。

那么,这里我要讲一个在工作中大家经常困惑的知识点,就是刚才我们提到,在对 MySQL-Cluster 进行数据操作时,需要连接 SQL 节点,但是在 MySQL-Cluster 的集群环境中,一般会配置多个 SQL 节点,这时你要连接哪个节点进行操作呢?

其实连接哪个节点都可以,在每个 SQL 节点之间数据是相互同步的。工作中,我们一般只会给应用提供一个连接数据库的地址,即一个 VIP,而 MySQL-Cluster 集群环境并没有 VIP 功能,所以使用 MySQL-Cluster 集群环境时往往要结合其他工具来进行使用,如Keepalived 工具就是使用比较普遍的一款 VIP 工具。

最后,还要强调一点的是,对于 MySQL-Cluster 集群环境下的表对象,我们要使用 NDB 存储引擎,而不是之前我们所熟悉的 InnoDB 存储引擎,即在创建表的时候,使用如下的方式来进行表创建:

mysql> create table tt1 (id int,name varchar(10)) ENGINE=ndb;
Query OK, 0 rows affected (0.11 sec)

好了,关于 SQL 节点,我们就讲这么多,在下一小节我们来认识下 MySQL-Cluster 集群的数据节点,希望今天的内容你能有所收获。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
SQL 关系型数据库 MySQL
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
MYSQL根据查询结果删除sql 去除重复id 新增对比前一条与后一条数据 去重3种方法​ 窗口函数
|
4天前
|
SQL 存储 关系型数据库
【MySQL】SQL 优化
【MySQL】SQL 优化
20 0
|
2天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之从MySQL到Flink 1.16.2 Flink-SQL的数据同步工作出现了一个异常如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
14 0
|
3天前
|
SQL 存储 数据处理
实时计算 Flink版产品使用合集之flink-connector-mysql-cdc 和 flink-sql-connector-mysql-cdc有什么区别
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
12 1
|
4天前
|
SQL 关系型数据库 MySQL
【MySQL系列笔记】常用SQL
常用SQL分为三种类型,分别为DDL,DML和DQL;这三种类型的SQL语句分别用于管理数据库结构、操作数据、以及查询数据,是数据库操作中最常用的语句类型。 在后面学习的多表联查中,SQL是分析业务后业务后能否实现的基础,以及后面如何书写动态SQL,以及完成级联查询的关键。
204 6
|
4天前
|
SQL 关系型数据库 MySQL
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
|
4天前
|
SQL 存储 关系型数据库
【MySQL系列笔记】SQL优化
SQL优化是通过调整数据库查询、索引、表结构和配置参数等方式,提高SQL查询性能和效率的过程。它旨在减少查询执行时间、减少系统资源消耗,从而提升数据库系统整体性能。优化方法包括索引优化、查询重写、表分区、适当选择和调整数据库引擎等。
233 3
|
4天前
|
SQL 关系型数据库 MySQL
MySQL SQL error: #1271 - Illegal mix of collations for operation ‘UNION‘
MySQL SQL error: #1271 - Illegal mix of collations for operation ‘UNION‘
|
4天前
|
SQL 关系型数据库 MySQL
【MySQL】:探秘主流关系型数据库管理系统及SQL语言
【MySQL】:探秘主流关系型数据库管理系统及SQL语言
28 0
|
4天前
|
SQL 关系型数据库 MySQL
【MySQL】SQL优化
【MySQL】SQL优化

推荐镜像

更多