探索MySQL-Cluster奥秘系列之关闭服务(11)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 前面讲解了如何启动MySQL-Cluster集群服务,其实明白了My-Cluster集群的运行原理,那么对于如何来关闭服务的操作方法则是非常简单的,那么在这一小节中,我们来具体看看如何对一个MySQL-Cluster集群环境的服务进行关闭。

在讲如何启动 MySQL Cluster 集群环境中各个节点时,我们是按照启动管理节点、数据节点、SQL节点顺序进行的。

但是对各个节点的关闭操作顺序则是相反的,即在对 MySQL Cluster 集群环境中各个节点上的服务进行关闭时,要按照如下的顺序进行关闭:SQL节点、数据节点、管理节点。这一小节,我们就来讲解如何将其关闭。

SQL 节点

要想关闭 SQL节点上服务,有两个选择:

  • 选择一,直接在 SQL 节点上将 mysqld 相关的进程进行 kill 掉;
  • 选择二,在登录到数据库执行 shutdown 命令。

选择一的具体操作如下所示:

[mysql@mysql05 ~]$ ps -ef | grep mysql
mysql      6022   6003  0 09:05 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
mysql      6206   6022  3 09:05 pts/0    00:04:11 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/mysql/mydata --plugin-dir=/usr/local/mysql/lib/plugin --log-error=mysql05.err --pid-file=mysql05.pid --socket=/mysql/mydata/mysql.sock --port=3306
mysql      6462   6003  0 11:01 pts/0    00:00:00 ps -ef
mysql      6463   6003  0 11:01 pts/0    00:00:00 grep --color=auto mysql
[mysql@mysql05 ~]$ kill -9 6022 6206

选择二的具体操作如下所示:

[mysql@mysql05 ~]$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.36-ndb-7.6.20-cluster-gpl MySQL Cluster Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> shutdown;

然后我们就可以在管理节点上查看 SQL 节点的运行状态了。

ndb_mgm> show;
Cluster Configuration
[ndbd(NDB)] 2 node(s)
id=2 @192.168.1.6 (mysql-5.7.36 ndb-7.6.20, Nodegroup: 0, *)
id=3 @192.168.1.7 (mysql-5.7.36 ndb-7.6.20, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.1.3 (mysql-5.7.36 ndb-7.6.20)
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from 192.168.1.4)
id=5 (not connected, accepting connect from 192.168.1.5)

当所有的 SQL 节点均显示 not connected,说明 SQL 节点已经全部正常关闭掉了。

只有当所有的 SQL 节点服务都关闭掉之后,前端的应用程序无法连接到 MySQL Cluster 数据库环境。这时,我们才可以关闭数据节点上的服务了。

数据节点

关闭数据库节点上服务同样非常简单,直接将 ndbd 进行 kill 掉就可以。具体操作如下所示:

[mysql@mysql06 ~]$ ps -ef | grep ndbd
mysql      4994      1  0 08:53 ?        00:00:04 ndbd
mysql      4995   4994  2 08:53 ?        00:03:51 ndbd
mysql      5280   4973  0 11:06 pts/0    00:00:00 grep --color=auto ndbd
[mysql@mysql06 ~]$ kill -9 4994  4995

当然,如果数据节点上的 ndbd 进程太多,我们可以直接使用 pkill 命令进行操作。具体操如下所示:

[mysql@mysql06 ~]$  pkill ndbd这样就将所有的 ndbd 进程全部 kill 掉了。上面两种操作方式在效果上是一样的。

关闭掉数据节点上的服务后,我们同样可以在管理节点上查看状态。

ndb_mgm> show;
Cluster Configuration
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 192.168.1.6)
id=3 (not connected, accepting connect from 192.168.1.7)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.1.3 (mysql-5.7.36 ndb-7.6.20)
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from 192.168.1.4)
id=5 (not connected, accepting connect from 192.168.1.5)

可以看到,数据节点的状态也变为 not connected 了,说明数据节点也被关闭掉了。

管理节点

最后,我们要关闭 MySQL Cluster 集群环境的管理节点上的服务,我们可以对相应的服务进行进行 kill 操作,即执行如下的操作。

[mysql@mysql03 ~]$ ps -ef | grep ndb_mgmd
mysql      2832      1  1 14:50 ?        00:02:57 ndb_mgmd -f /var/lib/mysql_cluster/config.ini
mysql      3167   1814  0 17:28 pts/1    00:00:00 grep --color=auto ndb_mgmd
[mysql@mysql03 ~]$ kill -9 2832

当然,我们还可以使用另一种方式来关闭管理节点的服务。即使用下面的命令进行关闭操作。

[mysql@mysql03 ~]$ ndb_mgm -e shutdown
Connected to Management Server at: localhost:1186
1 NDB Cluster node(s) have shutdown.
Disconnecting to allow management server to shutdown.
[mysql@mysql03 ~]$ ps -ef | grep ndb
mysql      3191   1814  0 17:32 pts/1    00:00:00 grep --color=auto ndb

至此,我们就完成了 MySQL Cluster 集群环境的正常关闭操作。这一小节内容很简单,我们就讲到这里,在下一小节中,我来讲解 MySQL Cluster 集群环境的日志管理方面的内容。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
124 3
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
166 2
|
2月前
|
关系型数据库 MySQL 数据库
vertx 的http服务表单提交与mysql验证
本文介绍了如何使用Vert.x处理HTTP服务中的表单提交,并通过集成MySQL数据库进行验证,包括项目依赖配置、表单HTML代码和完整的Vert.x服务代码。
29 2
|
3月前
|
SQL JavaScript 关系型数据库
Node服务连接Mysql数据库
本文介绍了如何在Node服务中连接MySQL数据库,并实现心跳包连接机制。
50 0
Node服务连接Mysql数据库
|
4月前
|
关系型数据库 MySQL Java
【Azure 应用服务】App Service 无法连接到Azure MySQL服务,报错:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
【Azure 应用服务】App Service 无法连接到Azure MySQL服务,报错:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
187 0
|
4月前
|
Kubernetes 关系型数据库 MySQL
k8s练习--通过NFS+PV+PVC+POD,部署一个MySQL服务,并将MySQL的数据进行持久化存储
本文档介绍了如何使用Kubernetes (K8s)、NFS、PersistentVolume (PV)、PersistentVolumeClaim (PVC)和Pod来部署并实现MySQL服务的数据持久化存储。Kubernetes是一个用于自动化部署、扩展和管理容器化应用的强大平台。NFS作为一种网络文件系统协议,能够使Kubernetes集群中的Pod跨节点访问共享文件。PV和PVC机制则提供了持久化的存储解决方案,确保数据即使在Pod生命周期结束后仍得以保留。
229 0
|
4月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之连接到MySQL的从库时遇到其他服务也连接到了从库,该如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
SQL 安全 关系型数据库
【SQL】已解决:MySQL 服务无法启动
【SQL】已解决:MySQL 服务无法启动
1517 1
|
5月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL场景评测:阿里云数据库服务的新高度
随着企业数字化转型的加速,对数据库的稳定性和性能提出了更高要求。阿里云的PolarDB MySQL应运而生,作为一款高度兼容MySQL协议的云原生数据库,它在性能、扩展性和安全性方面展现出了卓越的能力。本文将基于阿里云PolarDB MySQL的官方评测,深入探讨其在实际应用场景中的表现,以及为用户带来的价值。
171 0