解决InnoDB: Failing assertion: !lock->recursive
背景:
在arm服务器里运行MySQL5.7.22版本
报错信息 :
2024-11-25T08:07:36.241825+08:00 856 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 126; events assigned = 53431297; worker queues filled over overrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 894612095100 waited (count) when Workers occupied = 76 waited when Workers occupied = 36574500
2024-11-25T08:09:36.383649+08:00 856 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 120; events assigned = 53462017; worker queues filled over overrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 894781573600 waited (count) when Workers occupied = 76 waited when Workers occupied = 36574500
2024-11-25 08:10:43 0xffaa167160e0 InnoDB: Assertion failure in thread 281105986052320 in file sync0rw.cc line 560
InnoDB: Failing assertion: !lock->recursive
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
00:10:43 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information
collection process might fail.key_buffer_size=33554432
read_buffer_size=2097152
max_used_connections=4
max_threads=64020
thread_count=18
connection_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 394231416 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.Thread pointer: 0xffa990007f70
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = ffaa167157a0 thread_stack 0x30000
/export/servers/app/mysql-5.7.22/bin/mysqld(my_print_stacktrace+0x2c)[0xd907ec]
/export/servers/app/mysql-5.7.22/bin/mysqld(handle_fatal_signal+0x39c)[0x70dcdc]
linux-vdso.so.1(__kernel_rt_sigreturn+0x0)[0xffffa93ef8ec]
/usr/lib64/libc.so.6(+0x80df8)[0xffffa8f2cdf8]
/usr/lib64/libc.so.6(raise+0x1c)[0xffffa8ee8cbc]
/usr/lib64/libc.so.6(abort+0xe0)[0xffffa8ed6cec]
/export/servers/app/mysql-5.7.22/bin/mysqld[0x6e55bc]
/export/servers/app/mysql-5.7.22/bin/mysqld[0xef7908]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z16buf_page_get_genRK9page_id_tRK11page_size_tmP11buf_block_tmPKcmP5mtr_tb+0x664)[0xf75ac4]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z20btr_cur_latch_leavesP11buf_block_tRK9page_id_tRK11page_size_tmP9btr_cur_tP5mtr_t+0x58c)[0xf5323c]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z27btr_cur_search_to_nth_levelP12dict_index_tmPK8dtuple_t15page_cur_mode_tmP9btr_cur_tmPKcmP5mtr_t+0x12a8)[0xf59848]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z30btr_pcur_restore_position_funcmP10btr_pcur_tPKcmP5mtr_t+0x120)[0xf607f0]
/export/servers/app/mysql-5.7.22/bin/mysqld[0xed3ca4]
/export/servers/app/mysql-5.7.22/bin/mysqld[0xed84e4]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z7row_updP10upd_node_tP9que_thr_t+0x230)[0xed8e40]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z12row_upd_stepP9que_thr_t+0x68)[0xed8f08]
/export/servers/app/mysql-5.7.22/bin/mysqld[0xea6318]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN11ha_innobase10update_rowEPKhPh+0x148)[0xdd3f58]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN7handler13ha_update_rowEPKhPh+0x198)[0x7566fc]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN21Update_rows_log_event11do_exec_rowEPK14Relay_log_info+0x84)[0xd06984]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN14Rows_log_event12do_apply_rowEPK14Relay_log_info+0x2c)[0xd034fc]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN14Rows_log_event24do_index_scan_and_updateEPK14Relay_log_info+0x218)[0xd14378]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN14Rows_log_event14do_apply_eventEPK14Relay_log_info+0x6d0)[0xd13994]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z27slave_worker_exec_job_groupP12Slave_workerP14Relay_log_info+0x1e4)[0xd6cac4]
/export/servers/app/mysql-5.7.22/bin/mysqld(handle_slave_worker+0x2b4)[0xd504d4]
/export/servers/app/mysql-5.7.22/bin/mysqld(pfs_spawn_thread+0xf4)[0x10a4784]
/usr/lib64/libc.so.6(+0x7f320)[0xffffa8f2b320]
/usr/lib64/libc.so.6(+0xe545c)[0xffffa8f9145c]Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (ffa99ce9c970): is an invalid pointer
Connection ID (thread ID): 858
Status: NOT_KILLEDThe manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
2024-11-25T08:10:47.554095+08:00 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2024-11-25T08:10:47.554214+08:00 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2024-11-25T08:10:47.554246+08:00 0 [Note] /export/servers/app/mysql-5.7.22/bin/mysqld (mysqld 5.7.22-log) starting as process 41346 ...
2024-11-25T08:10:47.599043+08:00 0 [Warning] option 'innodb-buffer-pool-instances': unsigned value 128 adjusted to 64
2024-11-25T08:10:47.599739+08:00 0 [Warning] InnoDB: Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
2024-11-25T08:10:47.599768+08:00 0 [Warning] InnoDB: Using innodb_file_format_max is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
2024-11-25T08:10:47.599859+08:00 0 [Note] InnoDB: PUNCH HOLE support available
2024-11-25T08:10:47.599871+08:00 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2024-11-25T08:10:47.599877+08:00 0 [Note] InnoDB: Uses event mutexes
2024-11-25T08:10:47.599881+08:00 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2024-11-25T08:10:47.599885+08:00 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2024-11-25T08:10:47.599890+08:00 0 [Note] InnoDB: Using Linux native AIO
2024-11-25T08:10:47.623089+08:00 0 [Note] InnoDB: Number of pools: 1
2024-11-25T08:10:47.623284+08:00 0 [Note] InnoDB: Not using CPU crc32 instructions
2024-11-25T08:10:47.625617+08:00 0 [Note] InnoDB: Initializing buffer pool, total size = 328G, instances = 64, chunk size = 128M
2024-11-25T08:11:10.620091+08:00 0 [Note] InnoDB: Completed initialization of buffer pool
2024-11-25T08:11:13.781206+08:00 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2024-11-25T08:11:13.785464+08:00 0 [Note] InnoDB: Opened 2 undo tablespaces
2024-11-25T08:11:13.785498+08:00 0 [Note] InnoDB: 2 undo tablespaces made active
2024-11-25T08:11:13.785805+08:00 0 [Note] InnoDB: Highest supported file format is Barracuda.
2024-11-25T08:11:16.304842+08:00 0 [Note] InnoDB: Log scan progressed past the checkpoint lsn 185967007381
2024-11-25T08:11:16.426612+08:00 0 [Note] InnoDB: Doing recovery: scanned up to log sequence number 185972250112
官方说明:
https://bugs.mysql.com/bug.php?id=94699
https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-27.html
属于漏洞,已经在新版本里修复了
其他修复方案:
1、调大slave_pending_jobs_size_max
如果slave_pending_jobs_size_max的大小小于当前需要执行事件所需的内存大小
2、临时调整sync_binlog大小
当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘
3、slave_parallel_workers
调整并行复制的参数,建议修改为cpu的核数
4、innodb_io_capacity
sas硬盘建议200,如果是nvme固态盘,建议调整为1500
相关文章:
解决InnoDB: Failing assertion: !lock->recursive
背景: 在arm服务器里运行MySQL5.7.22版本 报错信息 : 2024-11-25T08:07:36.24182508:00 856 [Note] Multi-threaded slave statistics for channel : seconds elapsed 126; events assigned 53431297; worker queues filled over overrun level 0; …...

基于微信小程序的外卖点餐系统设计与实现ssm+论文源码调试讲解
4系统概要设计 4.1概述 本系统后台采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原…...
Helm Chart 实现 Kubernetes 应用的多环境部署与镜像更新
在现代软件开发中,通常需要将应用部署到多个环境(如开发环境、测试环境、生产环境),并且在不同环境中使用不同的配置和镜像版本。Helm Chart 提供了强大的模板化和参数化功能,可以轻松实现多环境部署和镜像更新。本文将详细介绍如何使用 Helm Chart 实现 Kubernetes 应用的…...

“腾讯、钉钉、飞书” 会议开源平替,免费功能强大
在数字化时代,远程办公和线上协作越来越火。然而,市面上的视频会议工具要么贵得离谱,要么功能受限,甚至还有些在数据安全和隐私保护上让人不放心。 今天开源君给大家安利一个超棒的开源项目 - Jitsi Meet,这可是我在网…...

我谈区域偏心率
偏心率的数学定义 禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》P312 区域的拟合椭圆看这里。 Rafael Gonzalez的二阶中心矩的表达不说人话。 我认为半长轴和半短轴不等于特征值,而是特征值的根号。…...

思科交换机telnet配置案例
目录 1.telnet简述2.网络拓扑3.设备说明4.网络配置4.1 电脑PC ip设置4.2 网络交换机telnet配置 5.小结 1.telnet简述 Telnet是远程登录服务的一个协议,该协议定义了远程登录用户与服务器交互的方式。它允许用户在一台联网的计算机上登录到一个远程分时系统中&#…...

机器学习:支持向量机
支持向量机(Support Vector Machine)是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的广义线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。 假设两类数据可以被 H x : w T x…...
人工智能前沿技术进展与应用前景探究
一、引言 1.1 研究背景与意义 人工智能作为一门极具变革性的前沿技术,正深刻地改变着人类社会的各个层面。从其诞生之初,人工智能便承载着人类对智能机器的无限遐想与探索。自 20 世纪中叶起,人工智能踏上了它的发展征程,历经了…...

(一)HTTP协议 :请求与响应
前言 爬虫需要基础知识,HTTP协议只是个开始,除此之外还有很多,我们慢慢来记录。 今天的HTTP协议,会有助于我们更好的了解网络。 一、什么是HTTP协议 (1)定义 HTTP(超文本传输协议ÿ…...
什么是网络爬虫?Python爬虫到底怎么学?
最近我在研究 Python 网络爬虫,发现这玩意儿真是有趣,干脆和大家聊聊我的心得吧!咱们都知道,网络上的信息多得就像大海里的水,而网络爬虫就像一个勤劳的小矿工,能帮我们从这片浩瀚的信息海洋中挖掘出需要的…...
NR_shell运行流程简析
nr_shell 是一套开源 shell 框架,基于框架可创建终端交互功能。 为了记录终端输入指令,以及进行解析处理,nr_shell 提供了一套 cmd 结构体,具体如下:typedef struct static_cmd_function_struct {char cmd[NR_SHELL_CM…...
CSS Fonts(字体)
CSS Fonts(字体) 在网页设计中,字体是传达信息情感和风格的关键元素。CSS(层叠样式表)提供了丰富的字体样式和属性,使得网页设计者能够根据需求选择合适的字体,从而提升用户体验。本文将详细介绍CSS字体相关的知识,包括字体的选择、加载、样式设置等。 字体的选择 选…...

基于Django的Boss直聘IT岗位可视化分析系统的设计与实现
【Django】基于Django的Boss直聘IT岗位可视化分析系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统采用Python作为主要开发语言,利用Django这一高效、安全的W…...
linux系统中的 scp的使用方法
SCP(Secure Copy Protocol)是一种通过加密的方式在本地主机和远程主机之间安全地传输文件的协议。 它是基于SSH协议的扩展,允许用户在不同主机之间进行文件复制和传输,是Linux和Unix系统中常用的工具之一。 在嵌入式Linux软件的…...
x5music3.0 admin_index.php 后台权限绕过漏洞复现(附脚本)
免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…...

【单链表算法实战】解锁数据结构核心谜题——相交链表
题目如下: 解题过程如下: 相交链表只可以在中间任意位置/头/尾结点相交,如下图: 一个next指针只能指向一块地址,所以不会出现这种情况: 在返回相交链表的起始结点之前先要判断两个链表是否相交࿰…...

Crewai框架添加日志功能
一开始看官方文档以为要用callback这个注释在一个自定义函数上输出日志,结果弄半天都没有结果,最后发已经有现成的方法了(一开始搜log都没搜到这个方法) 只要添加这个output_log_file配置参数即可,由于我的项目只有一…...

【2025年数学建模美赛E题】(农业生态系统)完整解析+模型代码+论文
生态共生与数值模拟:生态系统模型的物种种群动态研究 摘要1Introduction1.1Problem Background1.2Restatement of the Problem1.3Our Work 2 Assumptions and Justifications3 Notations4 模型的建立与求解4.1 农业生态系统模型的建立与求解4.1.1 模型建立4.1.2求解…...

Linux(Centos、Ubuntu) 系统安装jenkins服务
该文章手把手演示在Linux系统下如何安装jenkins服务、并自定义jenkins数据文件位置、以及jenkins如何设置国内镜像源加速,解决插件下载失败问题 安装方式:war包安装 阿里云提供的war下载源地址:https://mirrors.aliyun.com/jenkins/war/?s…...

2013年蓝桥杯第四届CC++大学B组真题及代码
目录 1A:高斯日记(日期计算) 2B:马虎的算式(暴力模拟) 3C:第39级台阶(dfs或dp) 4D:黄金连分数(递推大数运算) 5E:前缀…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...

页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...

深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学
一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件,其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时,价带电子受激发跃迁至导带,形成电子-空穴对,导致材料电导率显著提升。…...
linux设备重启后时间与网络时间不同步怎么解决?
linux设备重启后时间与网络时间不同步怎么解决? 设备只要一重启,时间又错了/偏了,明明刚刚对时还是对的! 这在物联网、嵌入式开发环境特别常见,尤其是开发板、树莓派、rk3588 这类设备。 解决方法: 加硬件…...