故障分析 | MySQL clone 自动重启失败的解决方式

OpenClaw本地AI Agent在Windows 11上的保姆级部署指南 AI Agent是具备感知、规划与工具调用能力的智能体,其核心在于本地化运行、可控记忆与安全执行。OpenClaw作为基于Node.js的开源本地AI Agent框架,依托Windows 11的HVCI虚拟化安全、WSL2无缝集成及微软账户信任链,构建出数据不出域、指令可审计的边缘智能开发环境。技术价值体现在低延迟响应、强进程隔离与配置可追溯性;典型应用场景包括工业设备日志分析、企业内网知识问答与离线AI工作流验证。本指南聚焦Node.js 20.x稳定运行时、Git驱动的配置即代码实践,以及MySQL作为 阅读详情

作者:李鹏博

爱可生 DBA 团队成员,主要负责 MySQL 故障处理和 SQL 审核优化。对技术执着,为客户负责。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。



作者自画像

MySQL 8 添加了新的 clone 插件,被用于 MGR 的分布式恢复当中,也可以用来进行物理备份恢复。

但是在进行 clone 操作的过程中,当拉取数据完成并进行自动重启 server 时,总是会出现重启失败的现象,如:

日志报错提示 RESTART 失败,需要在后面手动重启,错误代码3707,即:ERROR 3707 (HY000): Restart server failed (mysqld is not managed by supervisor process)。

而在关于 clone 的官方文档相关链接:https://dev.mysql.com/doc/refman/8.0/en/clone-plugin-remote.html中,也特别说明了这个报错:

意思说是当 recipient server 在 clone 数据拉取完成后会进行重启操作,前提是监控进程可用。而当出现相关报错时也不用担心,并不能说明 clone 失败了,随后只需要手动重启就可以了。

通过上面的日志和官方文档我们得到了出现重启失败的两个线索:RESTART 、监控进程。

先看关于 RESTART 的相关官方文档说明(https://dev.mysql.com/doc/refman/8.0/en/restart.html):

通过这段文档我们可以知道,如果想要成功执行“RESTART”命令,需要有一个监控进程,所以“RESTART”执行成功与否的关键就在于这个监控进程,而这个监控进程到底是什么文档在后面也进行了说明:

这时候我们就知道在类 Unix 系统中使用 systemd 或 mysqld_safe 来实现这个监控进程。

但是有时当我们使用自建的 systemd 的 MySQL service 服务时,依旧不能实现自动重启,而问题的关键还是在于没有配置好相关的监控进程,我们可以参考官方 rpm 包安装 MySQL Server 时生成的 systemd 的 service 文件的“[Service]”区域:

Restart=on-failure

RestartPreventExitStatus=1

# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1

官方的 systemd 的 service 文件已经指出了如果想要实现自动重启,最重要的就是要设置“Environment=MYSQLD_PARENT_PID=1”,PID为1的进程就是 systemd 的进程。

而官方设置的重启时机是“on-failure” , 即数据库当遇到异常宕机、进程中断信号或监控超时时就会进行重启,但是当数据库异常宕机时,有时我们并不想让数据库立刻自动重启,而是需要在运维和开发人员确认过问题之后进行手动重启,这时候我们就需要调整自动重启的策略。

在“RESTART”相关的官方文档中,明确指出了“RESTART”命令执行时数据库关闭时的退出状态码:16。这时我们就可以设置只有当数据库退出状态码为16时才进行自动重启,而在其余情况下不会进行自动重启,MySQL 的 systemd 的 service 的“[Service]”区域进行如下配置:

RestartForceExitStatus=16
RestartPreventExitStatus=1
# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1

“RestartForceExitStatus=16”的意思就是说不管是否配置了“Restart=”,当服务的退出状态码为16时都会进行自动重启,这样就解决了 clone 自动重启失败的问题,同时也保证了数据库在其他异常情况下不会进行自动重启。

如给 MySQL 发送中断信号时不会自动重启:

当执行 clone 操作时可以自动重启

没有了之前的报错,进行自动重启

用Git+Markdown构建可检索的开发者经验知识库 开发经验沉淀是软件工程中基础而关键的认知活动,其本质是将非结构化问题解决过程转化为可验证、可复用、可追溯的技术资产。传统Wiki或Notion知识库因静态性、高维护成本与版本失真问题,难以匹配真实开发节奏;而基于Git的‘代码即文档’范式,凭借原子提交、精准追溯、分支演进和零学习成本等特性,天然适配工程师工作流。结合结构化五段式模板(现象/根因/解法/验证/反思)与领域+关键词+日期的命名规范,可实现经验的机器可读、人眼速判与毫秒级检索。该方案特别适用于新人快速建立判断依据、中级工程师突破表达瓶颈,以及技术 阅读详情

相关推荐

Hermes Agent:基于SQLite的本地AI代理如何实现越用越聪明

AI代理(Agent)是让大语言模型(LLM)具备记忆、工具调用与上下文延续能力的关键范式。其核心挑战在于状态持久化与推理增强——传统方案依赖远程向量库或内存Session,而Hermes Agent另辟蹊径,将SQLite从‘轻量存储’升维为‘协同推理大脑’:通过FTS5全文检索实现RAG式历史召回,以事务级会话隔离保障多端状态一致,并借memory_anchor锚点与skill_registry自适应机制驱动行为收敛。这种设计使Agent的‘聪明’可审计、可回溯、完全本地可控,特别适合法务、嵌入式开发、

anjichan4261的博客 518

service network restart,Failed,解决方法

centos7,虚拟机上重启network,失败: Restarting network (via systemctl): Job for network.service failed systemctl status network.service Failed to start LSB: Bring up/dow. 解决方法: 输入:ip addr 找到ens33的 Mac地址 修改: vim /etc/sysconfig/network-scripts/ifcfg-en...

qqshuaishuai的博客 5968

Linux安装消息队列IBM MQ 7.5开发版安装配置详解

消息队列IBM MQ 7.5开发版安装配置详解 文章目录消息队列IBM MQ 7.5开发版安装配置详解前言一、什么是IBM MQ?二、安装前准备1、安装前准备2、安装MQ Server3、启动实例4、创建队列一个名为TEXT的队列(测试)5、启动端口监听6、启动成功总结 前言 IBM 已经熟练地优化了 MQ(消息队列),在市场上已有超过 25 年的历史。借助 MQ(消息队列),如果无法立即传递消息,那么会在其等待队列中确保消息安全,直到保证传递为止。竞争产品可能会传递两次消息或根本不传递消息,而 M

zhx__的博客 5165

cloudera-scm-server start failed

最近想把集群的spark服务升级为spark2,用spark on hive功能,在安装的时候service cloudera-scm-server restart 报failed 查看日志 cloudera-scm-server.log日志没有刷新,但看到cloudera-scm-server.out的时间有刷新,打开看一下 仅仅一行的日志,但看到/var/log/secure日志时间也刷新了...

Lloyd-He 2912

【Dify精讲】第2章:后端服务架构深度剖析

Dify后端采用Flask应用工厂模式实现模块化开发,通过蓝图架构将API分为控制台、Web应用和服务接口三大模块。其设计亮点包括:1) 应用工厂模式支持多环境配置和独立测试;2) 蓝图分层管理实现API模块化,各模块职责清晰;3) 严格遵循RESTful原则设计API接口;4) 使用Flask-RESTful扩展简化API开发。这种架构既保持了Flask的灵活性,又实现了企业级应用的可维护性,是Flask项目架构的优秀实践案例。

wiyi9891的专栏 2126

VC Spyglass实战指南:从零开始掌握CDC约束配置与调试

本文详细介绍了如何使用VC Spyglass进行CDC约束配置与调试,从基础环境搭建到典型CDC问题调试实战,帮助开发者快速掌握跨时钟域验证技术。通过TCL脚本和SDC约束的深度解析,提升CDC验证效率,避免常见设计风险。

weixin_26757925的博客 296

service network restart重启失败

但是不要以为删除了一台就可以了,它日志是有记录的其实要解决很简单。

努力做知识干货分享,即开即用,感谢关注 3383

EDA虚拟机分享2020版本(Synopsys2020)

EDA虚拟机分享

亦安的数字小站 9190

sqlserver 2012 删除LDF后,恢复的方法

今天用户使用系统时反馈填报时出现问题 排查后发现一个数据库的LDF日志文件过大,导致磁盘空间爆满导致的。 之后发生了一件非常愚蠢的操作,在没有备份,没有查阅资料的情况下,只问了下公司技术人员是否可以删除后,直接将数据库服务停掉后,将LDF文件删除了。 之后这个库就连接不上了。。。。 正确的删除方式应该是https://www.cnblogs.com/guanxiaohe/p/13359528.html ...

yayey的博客 2395

通信工程学习:什么是OLT光线路终端

OLT(光线路终端)是无源光网络(PON)的核心局端设备,负责光/电信号转换、数据处理、带宽分配及用户管理。具有高带宽、低损耗、高安全性和易维护等技术特点,广泛应用于家庭、企业及公共机构宽带接入。未来将向更高性能、智能化方向发展,结合SDN/NFV等新技术,提升网络服务质量。

limengshi138392的博客 4360

SV fork join_none & for循环结合使用

fork join_none与循环联用常见问题解决方案

ZhangShuHuai11的博客 880

安装sqlserver 2008 出现重启计算机失败错误(restart the computer failed)解决办法

一、Windows+R打开命令行,在对话框中输入“regedit”,点击运行; 二、此时会弹出注册表信息,在里面找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager”目录 三、删除“PendingFileRenameOperations”;---》直接删除就行,不用犹豫, 四、关闭对话框,点击re-sun...

zpjlkjxy的博客 3590

SAP_FICO模块-资产减值功能对折旧和残值的影响

SAP_FICO模块-资产减值操作对资产历史折旧以及后续折旧的影响,包括减值操作的配置前提

风沙的博客 2805

只有mdf文件的恢复技术

由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息设备激活错误。物理文件名 C:/Program Files/Microsoft SQL Server/MSSQL/data/tes

iamwjp的专栏 1114

16. SAP Fiori Elements 应用里图片字段(Image)的显示原理介绍

很多朋友向我反映,学习了 一段时间的 SAP Fiori Elements 开发,但是感觉整套体系对于自己来说还是个黑盒子,很多技术点,看了 SAP 官方帮助文档后,觉得自己懂了,但是一旦需要自己动手做一些东西出来时,又觉得一片茫然。 其实笔者自己也经历过这个过程。究其原因,还是大家对 Fiori Elements 一些技术细节没有理解,对 SAP 官方的知识点仅仅停留在记忆,甚至是死记硬背上面。 不过没有关系,本教程笔者会刻意设置一些练习,让大家动手,在实战中逐渐熟悉 Fiori Elements 这

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 758

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

提示:Display all 3707 possibilities? (y or n)

在MySQL数据库执行sql语句的时候提示:Display all 3707 possibilities? (y or n) 原因:sql语句当中有tab缩进 解决办法:将sql语句中的tab缩进删除

lz的博客 3470

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ado错误代码及说明

错误代码及说明3707 应用程序不能改变Recordset对象的ActiveComnection属性,以Command对象作为它的源3732 不能完成动作3748 不能改变连接3220 不能改变提供者3724 不能转换值不能创建资源3747 类别没有设置所以动作不能执行3726 这一行中不存在指定的列3421 对于当前的应用程序,应用程序使用了错误类型的值3721 数据超出给定的数据类型的范围37

代码人生 2838

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

解决MySQL服务无法启动,重置root用户密码

刚入门学习MySQL,本来一切操作都挺正常的,之后想用Navicat连接MySQL时,根据csdn里面某篇文章操作,结果开始了解决完一个bug又出现另一个bug的绝望循环。一开始是报 Access denied for user ‘root’@‘localhost’ (using password: YES) 这个错误的,后面又根据某篇文章操作导致MySQL服务无法启动。 我使用的是mysql版本...

to_create的博客 1838

新特性解读 | MySQL 8.0 轻松改配置,云上友好

作者:陈俊聪 背景 MySQL 5.7 及之前版本下修改配置,如果能动态修改的,可以用 set global 语法,不能动态修改的,只能修改 /etc/my.cnf 配置文件,之后重启生效。如果需要持久化动态修改的参数,也只能同时修改 /etc/my.cnf 配置文件。 这个对云上环境不友好,毕竟云数据库上,大家无法直接远程底层虚拟机修改配置文件。针对如何持久化参数配置,在 MySQL 8.0...

ActionTech的博客 449

在MySQL Shell里 重启MySQL 8.4实例

前一段时间看到MySQL官方视频的Oracle工程师在mysql shell里面重启mysql实例,感觉这个操作很方便,所以来试试,下面为该工程师的操作截图。7.测试,通过使用官方提供的脚本格式编写的start.sh脚本启动数据库,能够实现mysqlsh重启mysql实例。2.我们从系统上看一下mysql服务,看来默认在mysqlsh里shutdown mysql实例可以使用。6.我们根据官方文档创建mysql 启动脚本并启动数据库,当然启动前先要停止mysql实例。3.我们启动一下mysql服务。

yuanmx的专栏 510

登录MySQL时,提示ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)

解决MySQL登录报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)问题

高校教师 | AI兴趣者 专注Python|大数据|LLM学习 分享浅显易懂知识体系 2万+

MySQL常见报错分析及解决方案总结(41)---ERROR 2002 (HY000): Can‘t connect to MySQL server

摘要:MySQL连接错误ERROR 2002表明客户端无法建立到服务器的网络连接。主要解决步骤包括:1)检查MySQL服务是否运行;2)确认连接地址和端口(默认3306)是否正确;3)检查MySQL配置中的绑定地址;4)排查防火墙/安全组设置;5)对于远程连接需检查用户权限。该错误区别于密码错误(Access denied),核心是网络连接问题,需按服务状态→端口→防火墙→权限的顺序排查。

SSHLY3的博客 758

【解决】SQL Server2008 R2 分离数据库提示3703错误

【解决】SQL Server2008 R2 分离数据库提示3703错误 在我们使用SQL Server2008 R2 分离数据库的时候会出现3703错误 确认以后会出现错误提示 把这个构打上即可成功分离 提醒:分离数据库只是将数据库从SQL Server数据库列表中删除,让这个manager不管理那个数据库而已,原文件的位置没有改变,如果你的数据是从外面导入的,即在D:\Program Fi...

weixin_43067847的博客 6682

如何数据库分离

备注:我用的版本是SQL Server 2014 Management Studio 首先点击打开数据库 你可以使用“SQL Server身份验证”或者“windows身份验证”登录 点击“+” 选择数据库,右键 点击“任务”,再点击“分离” 确定数据库名称,点击“确定” 数据库分离完成! 小提示:点击“确定”后,选择分离的那个数据库已被分离,所以数据库列表里面已不存在。 ...

m0_57448314的博客 4700
上一篇: 故障分析 | MySQL 8.0 解决连接满问题
下一篇: 第34期:MySQL 表冗余设计
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值