第09问:MySQL 莫名崩溃,如何保留现场?

树莓派根分区扩展原理与实操:解决SD卡空间不足问题 树莓派官方系统镜像默认仅分配约2GB根分区,即使使用32GB/64GB SD卡,可用空间也严重受限——这是基于兼容性与安全性的工程设计,而非故障。其底层涉及MBR/GPT分区表对齐、ext4文件系统在线热扩展(resize2fs)、内核分区缓存刷新机制等关键技术。正确扩展不仅能释放全部存储容量,更是保障Home Assistant、NAS、OpenCV等资源密集型应用稳定运行的前提。本文深入解析raspi-config背后的三重安全机制,并提供从首次启动、自动扩展、深度验证到异常恢复的完整闭环方案,覆盖树莓 阅读详情

问题

我的 MySQL 偶尔崩溃,如果需要追查原因,应该如何保留现场?

实验

MySQL 随着版本不停迭代,崩溃的现象越来越少,也越来越隐蔽。

一旦遇到生产环境上的 MySQL 崩溃,就需要保留现场信息,供分析用。虽然 MySQL 的 error log 中会打印部分信息,但对于比较隐蔽的崩溃,往往显得力不从心。

因此我推荐开启 coredump,以备 MySQL 诊断需要。

我们来模拟一个崩溃场景,然后配置 coredump 看看效果。

选取一个容易复现崩溃的 bug,我们选择了 bug #95294。

我们先安装一个 5.7 的数据库,

将其停掉,按照 bug #95294 的描述变更配置,

手工启动 mysqld,可以看到 mysqld 无声无息的退出了,

检查 error log,可以看到 MySQL 是因为异常崩溃了,

error log 中有一段堆栈信息,可以用来判断这个崩溃的问题,

以上是 MySQL 能提供的所有信息,无法针对一些复杂场景进行分析。

下面我们开启 coredump,让 MySQL 在崩溃时能提供更多信息:

以下命令开启了系统级别一些参数,具体的释义大家可自行谷歌。此处需要注意,我们将 core 文件生成到了 /tmp 目录下,需要保证其磁盘空间足够大:

我们还需要调整 MySQL 运行用户的 ulimit,在本文中,MySQL 的运行用户是 root,我们调整其 core file 的限制,使其能生成 core dump:

最后,我们要在 MySQL 配置里,允许 MySQL 生成 coredump:

现在我们可以再次运行 MySQL:

可以看到 MySQL 崩溃时,会告知已生成了 core dump 文件。在 error log 中也会有同样的信息:

我们来看一下这个 coredump 文件:

coredump 文件会将崩溃当时的内存情况全部保留下来,所以文件体积会比较大。

在 MySQL 8.0.14 后,MySQL 提供了参数 innodb_buffer_pool_in_core_file,用于将 innodb buffer pool 从 coredump 中排除,用于减小 coredump 的体积。

那我们怎么使用 coredump 文件呢?可以用 gdb 去访问 coredump 文件,获取各种信息,此处举例如何获取所有线程的堆栈信息。

我们会得到一个非常长的堆栈信息,我们截取其中一小段,标注上简单的中文即可看懂。

结论

通过开启操作系统级别、放开用户限制、启用 MySQL 参数三个步骤,我们启用了 MySQL 的 coredump 功能,使得 MySQL 崩溃时留下了足够的线索。

对于复杂崩溃的分析,还是需要将 coredump 交给专业的研发工程师手里,或者提交给 MySQL 开发团队。

不过不管是什么场景,能提供一份 coredump,所有技术人员都会感谢你的。


关于 MySQL 的技术内容,你们还有什么想知道的吗?赶紧留言告诉小编吧!

时间序列分析实战闭环:Python诊断驱动建模七道硬坎 时间序列分析是处理销售预测、IoT传感器数据、金融时序等动态业务数据的核心技术,其本质不是套用ARIMA或LSTM公式,而是理解数据的生成机制与业务语义。从平稳性检验到季节性分解,从滞后特征构建到模型漂移监控,关键在于建立‘诊断驱动’的分析逻辑——先识别数据可信度、结构成分、动态变化与业务归因,再匹配合适工具。Python凭借pandas、statsmodels、Prophet和scikit-learn等生态的无缝咬合,成为支撑这一闭环的唯一高效语言。本文聚焦真实场景中的七个高频卡点,涵盖时间索引陷阱、缺失 阅读详情

相关推荐

Debian 10 部署 ClickHouse 实战指南:稳定优先的 OLAP 引擎安装与调优

ClickHouse 是面向实时分析场景的高性能列式 OLAP 数据库,其核心价值在于亚秒级聚合查询与高吞吐写入能力。它依赖底层系统稳定性、C++ 运行时兼容性及精细的资源管控(如 max_memory_usage、max_threads),在以‘稳定压倒一切’为设计哲学的 Debian 10 上部署尤为典型——既考验对 systemd、APT、GPG 密钥管理等 Linux 基础机制的理解,也直面 clickhouse partition 分区太大 查询性能慢、dbeaver连接clickhouse 失败

weixin_34297704的博客 427

如何解决MySQL中的崩溃

请注意,尽管升级服务器是一个潜在的解决方案,但只有在调查和权衡所有其他选项后,才建议您升级服务器。升级后拥有更多资源的服务器同样会花费更多的钱,所以只有当它确实是最好的选择时,你才应该进行调整大小。还要注意,MySQL文档中包含了。MySQL崩溃最常见的原因是由于内存不足而停止或无法启动。要检查这一点,你需要查看MySQL崩溃后的错误日志。然后查看错误日志,看看是什么原因导致MySQL崩溃。,用于诊断和防止崩溃。一些常见的消息会显示。

码觉客的博客 1万+

c++实现异步线程池并详细分析线程池析构流程

多线程编程是提高程序性能和响应能力的关键技术之一,异步线程池作为多线程编程的一种有效实现方式,能够管理和复用线程资源,避免频繁创建和销毁线程带来的开销。在本文中,我们将深入探讨如何实现一个异步线程池。

2301_76564925的博客 1598

MySQL崩溃恢复

一、一些小概念 1.1 MySQL的关闭相关参数 MySQL正常关闭时需要做哪些操作一般通过参数innodb_fast_shutdown进行控制,若MySQL异常关闭crash,那么就相当于innodb_fast_shutdown=2的情况,下面是该参数的详细介绍: innodb_fast_shutdown 0:在该模式下关闭MySQL时所做的操作是最多的,也是最耗时的,但是该模式下MySQL的启动是最快的,主要做三个动作: 1)flush dirty pages(脏页落盘) 2)merge chang

三思的博客 1907

CloudCompare实战:5分钟搞定点云数据预处理(含常见格式转换技巧)

本文提供了一套基于CloudCompare的5分钟点云数据预处理实战指南。文章详细讲解了如何利用这款开源工具,快速完成点云数据的格式转换(如LAS转PLY)、统计离群值降噪、体素网格下采样以及交互式裁剪等核心操作,帮助用户高效清理和规整杂乱数据,为后续分析建模奠定基础。

weixin_29207533的博客 475

关于RT-Thread中PWM无法正常输出的学习

按照官方的PWM配置,并没有输出PWM,网上有比较多的办法,试了很多,有些还是不能实现输出,这里做个记录。记录自己完成PWM输出的过程,以及修改的地方。 关于STM32CubeMX配置就不多说了,网上有很多。 首先必定是按照流程来,一定一定按照流程来!!! 需要注意的是加上通道数!!!! 这是流程上没有的,也是RTT的一点小BUG吧 配上board.c中添加的代码,我用的是PA2定时2的通道3,需要使用的朋友修改对应定时器和GPIO! void HAL_TIM_Base_MspInit(TIM_Han

weixin_42566346的博客 3552

MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!

MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!MySQL 中的日志主要有三种类型:二进制日志(Binary Log),重做日志(Redo Log),和撤销日志(Undo Log)。这三种日志在 MySQL 中扮演着不同的角色,以确保数据库的 ACID 特性(原子性、一致性、隔离性、持久性)。

Hanko的专栏 1300

一文速学数模-K-means聚类算法实战:信用卡用户画像聚类分析

该项目算是非常经典的金融业务用户画像的基础分析了,主要根据用户信用卡使用行为数据进行分析,根据收集到的不同字段信息,对每个用户划分类别。这里需要说明一下的是,聚类模型只是将具有相似行为的大部分用户聚集到一个类别里面,这点并不会考虑到每个字段的含义,也就是分成的类别并不是用户价值等级,此类别仅仅是这个类别大体相同的信用卡用户行为对象,并不能给每个用户价值打上标签,那是评价模型做的事,这里要注意不要搞混淆了,用户价值评价是评价模型决定的,而画像是聚类模型分析的。

master_hunter的博客 1万+

MySQL 数据库崩溃(crash)的常见原因和解决办法

墨墨导读:本文来自墨天轮用户投稿,详述MySQL 数据库崩溃(crash)的常见原因和解决办法,希望对大家有帮助。数据技术嘉年华,十周年盛大开启,点我立即报名!大会以“自研·智能·新基建...

Enmotech的博客 4927

【Android面试八股文】Handler如果没有消息处理是阻塞的还是非阻塞的?Looper 为什么要使用死循环?Android中为什么主线程不会因为Looper.loop()里的死循环卡死?

Handler如果没有消息处理是阻塞的还是非阻塞的? Looper 为什么要使用死循环? Android中为什么主线程不会因为Looper.loop()里的死循环卡死?

字节卷动 759

苹果生态最佳搭档:Mac mini + OpenClaw + iPhone 远程控制

本文详细介绍如何通过iPhone远程控制Mac mini上的OpenClaw应用,打造高效苹果生态工作流。内容包括:1) 苹果生态整合优势,包括AirDrop、Handoff等功能对比;2) Mac mini配置步骤,涵盖SSH/VNC设置、网络优化及Docker部署OpenClaw;3) iPhone端SSH/VNC客户端选择与Tailscale内网穿透配置;4) 详细SSH密钥设置与连接测试方法。通过这套方案,用户可实现跨设备无缝控制OpenClaw应用,提升远程工作效率。(149字)

一键难忘的博客 792

MySQL---redo log(崩溃恢复)

redo log(重做日志)是 InnoDB 存储引擎独有的,它让 MySQL 拥有了。比如 MySQL 实例挂了或宕机了,重启时,InnoDB 存储引擎会使用 redo log 恢复数据,MySQL 中数据是以为单位,你查询一条记录,会从硬盘把一页的数据加载出来,加载出来的数据叫,会放入到中。后续的查询都是先从中找,没有命中再去硬盘加载,减少硬盘 IO 开销,提升性能。更新表数据的时候,也是如此,发现里存在要更新的数据,就直接在里更新。然后会把“”记录到)里,接着刷盘到 redo log 文件里。

Elmer的博客 5427

【电机应用控制】——直流有刷电机&驱动板/编码器介绍&PID算法&实操代码思路

声明:学习笔记来自正点原子B站教程,仅供学习交流!!玩具车、平衡车、无人机、印刷机、打印机、手机振动马达等电机即电动机(motor),也叫作马达,电能转化为机械能。按电源:直流、交流按用途:驱动用、控制用按运转速度:高速、低速、恒速、调速直流电机(有刷、无刷)、舵机、步进电机、伺服电机1、直流有刷电机(Brushed DC Motor,简称BDC)是内含电刷装置的将直流电能转化为机械能的电动机。例如四驱赛车四个马达操控方便、成本低、维护时换电刷即可;

weixin_51658186的博客 2万+

崩溃场景_第09问:MySQL 莫名崩溃,如何保留现场?

问题我的 MySQL 偶尔崩溃,如果需要追查原因,应该如何保留现场?实验MySQL 随着版本不停迭代,崩溃的现象越来越少,也越来越隐蔽。一旦遇到生产环境上的 MySQL 崩溃,就需要保留现场信息,供分析用。虽然 MySQL 的 error log 中会打印部分信息,但对于比较隐蔽的崩溃,往往显得力不从心。因此我推荐开启 coredump,以备 MySQL 诊断需要。我们来模拟一个崩溃场景,然后配置...

weixin_35466750的博客 77

ABAP SQL Hierarchy 全景参考,组织树、分类树与递归查询在数据库层的优雅落地

ABAP SQL中的hierarchy语法为树形数据结构处理提供了高效方案。S/4HANA系统中常见的成本中心、利润中心、物料分类等树形结构,传统开发需通过递归和嵌套循环处理,而ABAP SQL hierarchies通过将层级遍历能力下沉到SQL层,借助SAP HANA的层级函数支持,实现了更高效的查询。 该功能要求ABAP 7.51+版本,支持两种实现方式:CDS hierarchy用于创建可复用的稳定层级模型,适合业务核心数据;ABAP SQL HIERARCHY generator则适用于临时性层级

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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

mysql 截取_第09问:MySQL 莫名崩溃,如何保留现场?

问题我的 MySQL 偶尔崩溃,如果需要追查原因,应该如何保留现场?实验MySQL 随着版本不停迭代,崩溃的现象越来越少,也越来越隐蔽。一旦遇到生产环境上的 MySQL 崩溃,就需要保留现场信息,供分析用。虽然 MySQL 的 error log 中会打印部分信息,但对于比较隐蔽的崩溃,往往显得力不从心。因此我推荐开启 coredump,以备 MySQL 诊断需要。我们来模拟一个崩溃场景,然后配置...

weixin_39902870的博客 208

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

mysql出现core dumped_第09问:MySQL 莫名崩溃,如何保留现场?

问题我的 MySQL 偶尔崩溃,如果需要追查原因,应该如何保留现场?实验MySQL 随着版本不停迭代,崩溃的现象越来越少,也越来越隐蔽。一旦遇到生产环境上的 MySQL 崩溃,就需要保留现场信息,供分析用。虽然 MySQL 的 error log 中会打印部分信息,但对于比较隐蔽的崩溃,往往显得力不从心。因此我推荐开启 coredump,以备 MySQL 诊断需要。我们来模拟一个崩溃场景,然后配置...

weixin_31178795的博客 548

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

系统崩溃mysql怎么保存表_第09问:MySQL 莫名崩溃,如何保留现场?

问题我的 MySQL 偶尔崩溃,如果需要追查原因,应该如何保留现场?实验MySQL 随着版本不停迭代,崩溃的现象越来越少,也越来越隐蔽。一旦遇到生产环境上的 MySQL 崩溃,就需要保留现场信息,供分析用。虽然 MySQL 的 error log 中会打印部分信息,但对于比较隐蔽的崩溃,往往显得力不从心。因此我推荐开启 coredump,以备 MySQL 诊断需要。我们来模拟一个崩溃场景,然后配置...

weixin_35642839的博客 117

mysql 跨版本逻辑导入_逻辑导入导致MySQL崩溃案例

主机环境OS:CentOS6.8OS内存:7GMySQL版本:5.7.22innodb_buffer_pool:6G最近发现MySQL测试库在每天下午5点左右会莫名崩溃,排查问题发现崩溃时间前后有一个定时任务在执行,这个定时任务会在每天下午4点半执行逻辑导入;将定时任务改到凌晨执行后,第二天早晨上班发现数据库又崩了。由于error.log不会有任何有用的报错信息,因此这次结合系统日志/var/lo...

weixin_34212192的博客 130

阿里云服务器mysql莫名丢失_阿里云 mysql 无缘无故挂掉

近期在登录自己博客时,老是报数据库连接失败,然后重启服务器就好了。但是,重启服务器很耗时间,不方便,不能每次都重启吧于是远程连接服务器看了一下原来是数据库服务挂掉了启动时还报错于是查看了下错误日志2016-11-09 08:13:11 12604 [Note] Plugin 'FEDERATED' is disabled.2016-11-09 08:13:11 12604 [Note] InnoD...

weixin_32273747的博客 1021

mysql数据库导入后莫名丢失,oracle导入丢失数据库

expOracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了...文章cloud_ruiy2013-10-10579浏览量如何解决Oracle ASM故障导致的数据丢...

weixin_39956558的博客 329

构建真正自愈的RAG系统:五层自治架构实战

RAG(检索增强生成)系统在实际落地中常因数据漂移、嵌入失真、提示泄漏等语义级故障导致答案不可靠,传统重试或fallback机制无法根治。真正的自愈能力需从感知、诊断、决策、执行到学习形成闭环,依赖可观测信号(如retrieval_score_percentile_95、output_factuality_score)、轻量贝叶斯推理与事务化动作执行。其技术价值在于将故障响应从人工介入的小时级压缩至秒级,保障金融、医疗、法律等高可信场景下的事实一致性与服务韧性。本文基于7个工业级RAG项目经验,详解如何用R

weixin_30542079的博客 479

R数据合并实战:垂直拼接与水平对齐的本质区别及键列清洗指南

数据合并是数据分析的基础操作,其核心在于理解‘同类扩展’与‘属性补充’两类语义逻辑——前者对应rbind/bind_rows的垂直拼接,后者依赖left_join等基于键列的水平对齐。实际工程中,90%的合并失败源于键列污染:不可见空格、大小写不一致、因子类型错配等隐性问题。掌握trimws()、as.character()、str_to_lower()等清洗手段,并结合check_key_uniqueness()验证主键唯一性,是保障合并结果可信的关键。本文聚焦R语言生态,覆盖dplyr连接策略选择、NA

406
上一篇: 分布式 | DBLE 新全局表检查实现浅析
下一篇: 故障分析 | MySQL OOM 故障应如何下手
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值