在MySQL Shell里 重启MySQL 8.4实例
前一段时间看到MySQL官方视频的Oracle工程师在mysql shell里面重启mysql实例,感觉这个操作很方便,所以来试试,下面为该工程师的操作截图
1.MySQL Shell 通过root用户连上mysql,shutdown mysql实例
[root@mysql8_3 bin]# mysqlsh
MySQL Shell 8.4.5
Copyright (c) 2016, 2025, 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 '\?' for help; '\quit' to exit.
MySQL SQL > \connect --mysql
Creating a Classic session to 'root@localhost'
Fetching global names for auto-completion... Press ^C to stop.
Your MySQL connection id is 377
Server version: 8.4.4-commercial MySQL Enterprise Server - Commercial
No default schema selected; type \use <schema> to set one.
MySQL localhost SQL > select user();
+----------------+
| user()|
+----------------+
| root@localhost |
+----------------+
1 row in set (0.0008 sec)
MySQL localhost SQL > shutdown;
Query OK, 0 rows affected (0.0005 sec)
MySQL localhost SQL > select user();
ERROR: 2013 (HY000): Lost connection to MySQL server during query
The global session got disconnected..
Attempting to reconnect to 'mysql://root@/tmp%2Fmysql.sock'........
......
The global session could not be reconnected automatically.
Please use '\reconnect' instead to manually reconnect.
MySQL SQL >
MySQL SQL > \reconnect
Attempting to reconnect to 'mysql://root@/tmp%2Fmysql.sock'..............
The global session could not be reconnected automatically.
Please use '\reconnect' instead to manually reconnect.
MySQL SQL >
2.我们从系统上看一下mysql服务,看来默认在mysqlsh里shutdown mysql实例可以使用
[root@mysql8_3 bin]# systemctl status mysqld83308.service
● mysqld83308.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld83308.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Thu 2025-04-24 12:00:39 CST; 57s ago
Process: 16169 ExecStart=/u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnf (code=exited, status=0/SUCCESS)
Main PID: 16169 (code=exited, status=0/SUCCESS)
4月24 11:57:13 mysql8_3.52 systemd[1]: Started MySQL Server.
4月24 12:00:39 mysql8_3.52 systemd[1]: mysqld83308.service: Succeeded.
[root@mysql8_3 bin]#
3.我们启动一下mysql服务
[root@mysql8_3 bin]# systemctl start mysqld83308.service
[root@mysql8_3 bin]# systemctl status mysqld83308.service
● mysqld83308.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld83308.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2025-04-24 12:02:22 CST; 2s ago
Main PID: 16417 (mysqld)
Tasks: 17 (limit: 22962)
Memory: 579.5M
CGroup: /system.slice/mysqld83308.service
└─16417 /u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnf
4月24 12:02:22 mysql8_3.52 systemd[1]: Started MySQL Server.
[root@mysql8_3 bin]#
4.我们在mysqlsh里执行重启命令,报错了
[root@mysql8_3 bin]# mysqlsh
MySQL Shell 8.4.5
Copyright (c) 2016, 2025, 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 '\?' for help; '\quit' to exit.
MySQL SQL > \connect --mysql
Creating a Classic session to 'root@localhost'
Fetching global names for auto-completion... Press ^C to stop.
Your MySQL connection id is 44
Server version: 8.4.4-commercial MySQL Enterprise Server - Commercial
No default schema selected; type \use <schema> to set one.
MySQL localhost SQL > select user();
+----------------+
| user()|
+----------------+
| root@localhost |
+----------------+
1 row in set (0.0004 sec)
MySQL localhost SQL > restart;
ERROR: 3707 (HY000): Restart server failed (mysqld is not managed by supervisor process).
MySQL localhost SQL >
5.看看官方文档的实现脚本
#!/bin/bash
export MYSQLD_PARENT_PID=$$
export MYSQLD_RESTART_EXIT=16
while true ; do
bin/mysqld mysqld options here
if [ $? -ne $MYSQLD_RESTART_EXIT ]; then
break
fi
Done
6.我们根据官方文档创建mysql 启动脚本并启动数据库,当然启动前先要停止mysql实例
[root@mysql8_3 mysql3308]# cat start.sh
#!/bin/bash
export MYSQLD_PARENT_PID=$$
export MYSQLD_RESTART_EXIT=16
while true ; do
/u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnf
if [ $? -ne $MYSQLD_RESTART_EXIT ]; then
break
fi
[root@mysql8_3 mysql3308]# chmod +x start.sh
[root@mysql8_3 mysql3308]# ./start.sh
7.测试,通过使用官方提供的脚本格式编写的start.sh脚本启动数据库,能够实现mysqlsh重启mysql实例
8.根据这个脚本的逻辑修改systemd启动脚本
[root@mysql8_3 ~]# vim /usr/lib/systemd/system/mysqld83308.service
# This service is actually a systemd target,
# but we are using a service since targets cannot be reloaded.
[Unit]
Description=MySQL Server
Documentation=mysqld.service
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
RestartForceExitStatus=16
Environment=MYSQLD_PARENT_PID=1
User=mysql
Group=mysql
ExecStart=/u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnf
LimitNOFILE = 5000
9.重启服务
[root@mysql8_3 bin]# systemctl daemon-reload
[root@mysql8_3 bin]# systemctl start mysqld83308.service
[root@mysql8_3 bin]# systemctl status mysqld83308.service
● mysqld83308.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld83308.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2025-04-24 12:19:43 CST; 2s ago
Main PID: 17310 (mysqld)
Tasks: 30 (limit: 22962)
Memory: 672.4M
CGroup: /system.slice/mysqld83308.service
└─17310 /u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnf
4月24 12:19:43 mysql8_3.52 systemd[1]: Started MySQL Server.
10.测试使用systemd启动脚本的mysqlsh重启效果
这两种方法均能实现,原理来自官方脚本
参考:
https://dev.mysql.com/doc/refman/8.4/en/restart.html
https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#Environment
https://www.jinbuguo.com/systemd/systemd.service.html
相关文章:

在MySQL Shell里 重启MySQL 8.4实例
前一段时间看到MySQL官方视频的Oracle工程师在mysql shell里面重启mysql实例,感觉这个操作很方便,所以来试试,下面为该工程师的操作截图 1.MySQL Shell 通过root用户连上mysql,shutdown mysql实例 [rootmysql8_3 bin]# mysqlshMy…...

FANUC机器人GI与GO位置数据传输设置
FANUC机器人GI与GO位置数据传输设置(整数小数分开发) 一、概述 在 Fanuc 机器人应用中,如果 IO 点位足够,可以利用机器人 IO 传输位置数据及偏移位置数据等。 二、操作步骤 1、确认通讯软件安装 首先确认机器人控制柜已经安装…...

LeetCode 24 两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head [1,2,3,4] 输出:[2,1…...

低代码平台开发手机USB-HID调试助手
项目介绍 USB-HID调试助手是一种专门用于调试和测试USB-HID设备的软件工具。USB-HID设备是一类通过USB接口与计算机通信的设备,常见的HID设备包括键盘、鼠标、游戏控制器、以及一些专用的工业控制设备等。 主要功能包括: 数据监控:实时监控和…...
Java 深度与实战 · 每日一读 :高频面试真题解析 · ReentrantLock / CAS / AQS 篇
ReentrantLock 深层分析:CAS、AQS原理全揭秘 此文为「Java 深度与实战每日一读」系列第1篇,原创专栏,全篇不含水分,该系列整个面向:初学、进阶、面试、原理、实战,全综合型导向。 目标:让任何级…...
golang goroutine(协程)和 channel(管道) 案例解析
文章目录 goroutine和channel概念开启线程与channel简单通信流程多个工作协程并发执行流程 goroutine和channel概念 goroutine(协程),一般我们常见的是进程,线程,进程可以理解为一个软件在运行执行的过程,线程跟协程比较类似&…...

亚组风险比分析与可视化
1. 结果解读 1.1 风险比概述 1.1.1 风险比基本概念 风险比(Hazard Ratio)用于衡量治疗组与对照组事件发生的风险差异。 风险比为1,表示两组风险相同;小于1,治疗组风险低;大于1,治疗组风险高。 1.1.2 性别亚组分析 A性风险比小于1,表明治疗对A性有积极效果,风险降低。…...
计算机网络核心知识点全解析(面试通关版)
一、网络体系结构:从OSI到TCP/IP的分层设计 1.1 七层模型与四层模型对比 OSI七层模型核心功能TCP/IP四层对应典型协议生活类比应用层为应用程序提供服务(如文件传输、邮件、Web浏览)应用层HTTP、FTP、SMTP、DNS快递面单信息(收件…...
使用 Frida 绕过 iOS 应用程序中的越狱检测
在这篇博文中,我们将介绍**Frida**,它是用于移动应用程序安全分析的真正有趣的工具之一。 我们在高级 Android 和 iOS 漏洞利用培训中也深入讲解了这一点,您可以在这里注册 -培训链接 即使您从未使用过 Frida,本文也将作为指南,帮助您进入 Frida 的世界,进行移动应用程…...

【博客系统】博客系统第一弹:博客系统项目配置、MyBatis-Plus 实现 Mapper 接口、处理项目公共模块:统一返回结果、统一异常处理
案例综合练习 - 博客系统 本节目标 从 0 到 1 完成博客系统后端项目的开发。 前言 通过前面课程的学习,我们掌握了 Spring 框架和 MyBatis 的基本使用,并完成了图书管理系统的常规功能开发。接下来我们系统地从 0 到 1 完成一个项目的开发。 项目介绍 …...
如何通过挖掘需求、SEO优化及流量变现成功出海?探索互联网产品的盈利之道
挖掘需求,优化流量,实现变现:互联网出海产品的成功之路 在当今全球化的数字时代,越来越多的企业和个人选择将业务扩展到国际市场。这一趋势不仅为企业带来了新的增长机会,也为个人提供了通过互联网产品实现盈利的途径…...
车载功能测试-车载域控/BCM控制器测试用例开发流程【用例导出方法+优先级划分原则】
目录 1 摘要2 位置灯手动控制简述2.1 位置灯手动控制需求简述2.2 位置灯手动控制逻辑交互图 3 用例导出方法以及优先级原则3.1 用例导出方法3.1.1 用例导出方法介绍3.1.2 用例导出方法关键差异分析 3.2 优先级规则3.2.1 优先级划分的核心原则3.2.2 具体等级定义与判定标准 3.3 …...

基于OpenMV+STM32+OLED与YOLOv11+PaddleOCR的嵌入式车牌识别系统开发笔记
基于OpenMV、STM32与OLED的嵌入式车牌识别系统开发笔记 基于OpenMV、STM32与OLED的嵌入式车牌识别系统开发笔记系统架构全景 一、实物演示二、OpenMV端设计要点1. 硬件配置优化2. 智能帧率控制算法3. 数据传输协议设计 三、PyTorch后端核心实现:YOLOv11与PaddleOCR的…...
MCP实战-本地MCP Server + Client实战
概述 本文开发一个MCP的Client和Server。然后通过本地模式来运行,并获取到server的结果。 MCP Server开发 import anyio import click import mcp.types as types from mcp.server.lowlevel import Server from pydantic import FileUrlSAMPLE_RESOURCES {"…...

w~嵌入式C语言~合集4
我自己的原文哦~ https://blog.51cto.com/whaosoft/13870376 一、STM32怎么选型 什么是 STM32 STM32,从字面上来理解,ST是意法半导体,M是Microelectronics的缩写,32表示32位,合起来理解,STM32就是指S…...
lightrag : from lightrag.utils import EmbeddingFunc 报错
原因: 1. 同时安装了lightrag与lightrag-hku 解决方法: 卸载原有的lightrag与lightrag-hku,只安装lightrag-hku pip install lightrag-hku...
ppt流程图怎么?ppt流程图模板大全
ppt流程图怎么?ppt流程图剪头模板,ppt流程图模板大全: ppt流程图_模板素材_PPT模板_ppt素材_免抠图片_AiPPTer...
AWS中国区ICP备案全攻略:流程、注意事项与最佳实践
导语 在中国大陆地区开展互联网业务时,所有通过域名提供服务的网站和应用必须完成ICP备案(互联网内容提供商备案)。对于选择使用AWS中国区(北京/宁夏区域)资源的用户,备案流程因云服务商的特殊运营模式而有所不同。本文将详细解析AWS中国区备案的核心规则、操作步骤及避坑…...

腾讯云服务器安全——服务防火墙端口放行
点击服务进入安全策略 添加规则...
对局匹配--stl+模拟
1.模拟,先找匹配对数,然后减 2.特殊情况,k0 3.stl容器使用,lower_bound https://www.luogu.com.cn/problem/P8656 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair&…...

K8S安全认证
一。用户认证的基本框架 在K8S集群中,客户端通常有两类: 1.User Account:一般独立于K8S之外的其他服务管理的用过户账号 2.Service Account:K8S管理的账号,用于为Pod中的服务进程在访问K8S提供身份标识 ApiServer是…...

mybatis-plus里的com.baomidou.mybatisplus.core.override.MybatisMapperProxy 类的详细解析
以下是 com.baomidou.mybatisplus.core.override.MybatisMapperProxy 类的详细解析: 1. 类的作用 MybatisMapperProxy 是 MyBatis-Plus 框架中用于实现 Mapper 接口动态代理的核心类。它继承自 MyBatis 的 MapperProxy,并扩展了以下功能: …...

在java程序中,类,进程,线程他们之间的关系以及main方法与他们之间的关系
在 Java 程序里,类、进程、线程各自有着不同的概念,同时也存在着紧密的联系,下面来详细分析它们之间的关系以及 main 方法和它们的关系。 类 类是 Java 中最基础的编程单元,是一种自定义的数据类型,它定义了对象的属…...

[ACTF2020 新生赛]BackupFile题解
启动环境 进入后只有一段话,没有其他的说法。 解题方法 但是题目命名为backup file,应该是备份文件的意思,那么就用dirsearch工具来扫一下看看。 查看扫描结果 index.php.bak 下载下这个文件,查看文件内容。 进行php代码审计…...

如何修改npm的全局安装路径?
修改 npm 的全局安装路径可以通过以下步骤完成,确保全局包(使用 -g 安装的模块)和缓存文件存储到自定义路径。以下是详细步骤: 1. 创建自定义路径的目录 在目标路径下创建两个文件夹,分别用于存储全局模块和缓存文件…...

巧用 Element - UI 实现图片上传按钮的智能隐藏
引言 在前端开发中,使用 Element - UI 组件库来构建用户界面是非常常见的操作。其中图片上传功能更是在许多项目中频繁出现,比如用户头像上传、商品图片上传等场景。有时候,我们会有这样的需求:当上传图片达到一定数量后…...
Ubuntu18.04 升级最新版本Cmake
1.升级原因 ubuntu18.04默认安装的cmake版本为 3.10.2;在编译一些软件的时候,版本太低导致无法编译 2.从cmake官网下载二进制安装包 地址:https://cmake.org/download/ 包:cmake-4.0.1-linux-x86_64.tar.gz 3.上传下载好的安装包到ubuntu…...
关于mysql的事务和索引
1. 事务四大特性(ACID) 原子性:事务的操作要么全部成功,要么全部失败回滚,不可分割。 一致性:事务执行前后,数据必须满足业务规则(如账户总额不变)。 隔离性࿱…...

从“拼凑”到“构建”:大语言模型系统设计指南!
你有没有试过在没有说明书的情况下组装宜家家具?那种手忙脚乱却又充满期待的感觉,和设计大语言模型(LLM)系统时如出一辙。如果没有一个清晰的计划,很容易陷入混乱。我曾经也一头扎进去,满心期待却又手足无措,被网上那些复杂的架构图搞得晕头转向。于是,我坐下来,把它们…...
mybatis xml中特殊字符处理
1,CDATA区: 它的全称为character data,以"<![CDATA[ "开始,以" ]]>" 结束,在两者之间嵌入不想被解析程序解析的原始数据,解析器不对CDATA区中的内容进行解析,而是将这些数据原封…...