在MySQL Shell里 重启MySQL 8.4实例

news2025/7/19 16:06:54

前一段时间看到MySQL官方视频的Oracle工程师在mysql shell里面重启mysql实例,感觉这个操作很方便,所以来试试,下面为该工程师的操作截图

图片

1.MySQL Shell 通过root用户连上mysql,shutdown mysql实例

[root@mysql8_3 bin]# mysqlshMySQL Shell 8.4.5Copyright (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 --mysqlCreating a Classic session to 'root@localhost'Fetching global names for auto-completion... Press ^C to stop.Your MySQL connection id is 377Server version: 8.4.4-commercial MySQL Enterprise Server - CommercialNo 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 queryThe 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 > \reconnectAttempting 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 ServerLoaded: loaded (/usr/lib/systemd/system/mysqld83308.service; enabled; vendor preset: disabled)Active: inactive (dead) since Thu 2025-04-24 12:00:39 CST; 57s agoProcess: 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 ServerLoaded: loaded (/usr/lib/systemd/system/mysqld83308.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2025-04-24 12:02:22 CST; 2s agoMain PID: 16417 (mysqld)Tasks: 17 (limit: 22962)Memory: 579.5MCGroup: /system.slice/mysqld83308.service└─16417 /u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnf4月24 12:02:22 mysql8_3.52 systemd[1]: Started MySQL Server.[root@mysql8_3 bin]#

4.我们在mysqlsh里执行重启命令,报错了

[root@mysql8_3 bin]# mysqlshMySQL Shell 8.4.5Copyright (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 --mysqlCreating a Classic session to 'root@localhost'Fetching global names for auto-completion... Press ^C to stop.Your MySQL connection id is 44Server version: 8.4.4-commercial MySQL Enterprise Server - CommercialNo 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/bashexport MYSQLD_PARENT_PID=$$export MYSQLD_RESTART_EXIT=16while true ; dobin/mysqld mysqld options hereif [ $? -ne $MYSQLD_RESTART_EXIT ]; thenbreakfiDone

图片

图片

6.我们根据官方文档创建mysql 启动脚本并启动数据库,当然启动前先要停止mysql实例

[root@mysql8_3 mysql3308]# cat start.sh#!/bin/bashexport MYSQLD_PARENT_PID=$$export MYSQLD_RESTART_EXIT=16while true ; do/u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnfif [ $? -ne $MYSQLD_RESTART_EXIT ]; thenbreakfi
[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 ServerDocumentation=mysqld.serviceAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]RestartForceExitStatus=16Environment=MYSQLD_PARENT_PID=1User=mysqlGroup=mysqlExecStart=/u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnfLimitNOFILE = 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 ServerLoaded: loaded (/usr/lib/systemd/system/mysqld83308.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2025-04-24 12:19:43 CST; 2s agoMain PID: 17310 (mysqld)Tasks: 30 (limit: 22962)Memory: 672.4MCGroup: /system.slice/mysqld83308.service└─17310 /u01/mysql3308/base/bin/mysqld --defaults-file=/u01/mysql3308/my.cnf4月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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2345462.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FANUC机器人GI与GO位置数据传输设置

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

LeetCode 24 两两交换链表中的节点

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

低代码平台开发手机USB-HID调试助手

项目介绍 USB-HID调试助手是一种专门用于调试和测试USB-HID设备的软件工具。USB-HID设备是一类通过USB接口与计算机通信的设备&#xff0c;常见的HID设备包括键盘、鼠标、游戏控制器、以及一些专用的工业控制设备等。 主要功能包括&#xff1a; 数据监控&#xff1a;实时监控和…

亚组风险比分析与可视化

1. 结果解读 1.1 风险比概述 1.1.1 风险比基本概念 风险比(Hazard Ratio)用于衡量治疗组与对照组事件发生的风险差异。 风险比为1,表示两组风险相同;小于1,治疗组风险低;大于1,治疗组风险高。 1.1.2 性别亚组分析 A性风险比小于1,表明治疗对A性有积极效果,风险降低。…

【博客系统】博客系统第一弹:博客系统项目配置、MyBatis-Plus 实现 Mapper 接口、处理项目公共模块:统一返回结果、统一异常处理

案例综合练习 - 博客系统 本节目标 从 0 到 1 完成博客系统后端项目的开发。 前言 通过前面课程的学习&#xff0c;我们掌握了 Spring 框架和 MyBatis 的基本使用&#xff0c;并完成了图书管理系统的常规功能开发。接下来我们系统地从 0 到 1 完成一个项目的开发。 项目介绍 …

基于OpenMV+STM32+OLED与YOLOv11+PaddleOCR的嵌入式车牌识别系统开发笔记

基于OpenMV、STM32与OLED的嵌入式车牌识别系统开发笔记 基于OpenMV、STM32与OLED的嵌入式车牌识别系统开发笔记系统架构全景 一、实物演示二、OpenMV端设计要点1. 硬件配置优化2. 智能帧率控制算法3. 数据传输协议设计 三、PyTorch后端核心实现&#xff1a;YOLOv11与PaddleOCR的…

w~嵌入式C语言~合集4

我自己的原文哦~ https://blog.51cto.com/whaosoft/13870376 一、STM32怎么选型 什么是 STM32 STM32&#xff0c;从字面上来理解&#xff0c;ST是意法半导体&#xff0c;M是Microelectronics的缩写&#xff0c;32表示32位&#xff0c;合起来理解&#xff0c;STM32就是指S…

K8S安全认证

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

mybatis-plus里的com.baomidou.mybatisplus.core.override.MybatisMapperProxy 类的详细解析

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

在java程序中,类,进程,线程他们之间的关系以及main方法与他们之间的关系

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

[ACTF2020 新生赛]BackupFile题解

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

如何修改npm的全局安装路径?

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

巧用 Element - UI 实现图片上传按钮的智能隐藏

引言 在前端开发中&#xff0c;使用 Element - UI 组件库来构建用户界面是非常常见的操作。其中图片上传功能更是在许多项目中频繁出现&#xff0c;比如用户头像上传、商品图片上传等场景。有时候&#xff0c;我们会有这样的需求&#xff1a;当上传图片达到一定数量后&#xf…

从“拼凑”到“构建”:大语言模型系统设计指南!

你有没有试过在没有说明书的情况下组装宜家家具?那种手忙脚乱却又充满期待的感觉,和设计大语言模型(LLM)系统时如出一辙。如果没有一个清晰的计划,很容易陷入混乱。我曾经也一头扎进去,满心期待却又手足无措,被网上那些复杂的架构图搞得晕头转向。于是,我坐下来,把它们…

【数据结构与算法】从完全二叉树到堆再到优先队列

完全二叉树 CBT 设二叉树的深度为 h , 若非最底层的其他各层的节点数都达到最大个数 , 最底层 h 的所有节点都连续集中在左侧的二叉树叫做 完全二叉树 . 特点 对任意节点 , 其右分支下的叶子节点的最底层为 L , 则其左分支下的叶子节点的最低层一定是 L 或 L 1 .完全二叉树…

【Linux网络】构建类似XShell功能的TCP服务器

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…

Spring Boot 配置源详解(完整版)

Spring Boot 配置源详解&#xff08;完整版&#xff09; 一、配置源加载顺序与优先级 配置源类型优先级顺序&#xff08;从高到低&#xff09;对应配置类/接口是否可覆盖典型文件/来源命令行参数&#xff08;--keyvalue&#xff09;1&#xff08;最高&#xff09;SimpleComman…

puppeteer注入浏览器指纹过CDP

一、背景 通过puppeteer爬取目标网站时&#xff0c;经常会被对方网站检测到&#xff0c;比如原生puppeteerCDP特征非常明显&#xff0c;另外指纹如果一直不变&#xff0c;也会引发风控 二、实现 通过以下几行代码即可轻松过大部分检测点&#xff0c;并且能够切换指纹&#x…

软件项目实施全流程及交付物清单

需求分析 -> 概要设计 -> 详细设计 -> 开发实现 -> 测试 -> 部署 -> 运维 一、确认项目目标、范围和团队成员 二、收集和分析客户需求&#xff0c;确定需求规格 三、制定详细的项目计划&#xff0c;包括时间表、资源计划、预算 四、系统架构设计&#xf…