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

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 前面讲解了如何启动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 集群环境的日志管理方面的内容。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
存储 Java 关系型数据库
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
社区医院管理服务系统【GUI/Swing+MySQL】(Java课设)
53 1
|
2月前
|
关系型数据库 MySQL Apache
**ADB MySQL湖仓版能够平滑迁移到湖仓**,阿里云提供了相应的迁移工具和服务来简化这一过程。
**ADB MySQL湖仓版能够平滑迁移到湖仓**,阿里云提供了相应的迁移工具和服务来简化这一过程。
297 2
|
2月前
|
关系型数据库 MySQL Apache
mysql5.7 本地计算机上的mysql 服务启动后停止 的问题解决
mysql5.7 本地计算机上的mysql 服务启动后停止 的问题解决
25 0
|
2月前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库产品使用合集之如何使用ADB MySQL湖仓版声纹特征提取服务
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
10天前
|
关系型数据库 MySQL Linux
Linux下怎么快速部署MySQL服务,并使用
Linux下怎么快速部署MySQL服务,并使用
29 5
|
15天前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用问题之整库从mysql同步到StarRocks里面,首次全量是否会对mysql造成大量资源消耗,导致影响业务服务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
21天前
|
关系型数据库 数据管理 数据库
数据管理DMS产品使用合集之如何极速恢复RDS(关系型数据库服务)中的数据表
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
4天前
|
关系型数据库 MySQL 数据安全/隐私保护
mysql无法启动服务connect to server at ‘localhost‘ failed
mysql无法启动服务connect to server at ‘localhost‘ failed
|
7天前
|
关系型数据库 MySQL 数据库
Mysql数据库服务的启动与停止及数据库选择
Mysql数据库服务的启动与停止及数据库选择
11 0
|
2月前
|
SQL 关系型数据库 MySQL
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务
该文章提供了在虚拟机上安装MySQL服务的简化方法,特别是针对新手。作者提供了一个自动化脚本`install_mysql.sh`,使得安装过程更简单。用户需要下载`install.rpm`资源,将其放在指定目录下,然后创建并编辑脚本文件,将提供的代码粘贴进去,通过`chmod u+x`授权,最后运行脚本`./install_mysql.sh [rpm文件路径]`来安装MySQL。文章还附有相关图片说明。
171 1
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务