MySQL怎么看死锁记录

news/2024/9/24 20:16:14/

在这里插入图片描述
这个结果分成三部分:
(1) TRANSACTION,是第一个事务的信息;
(2) TRANSACTION,是第二个事务的信息;
(3)WE ROLL BACK TRANSACTION (1),是最终的处理结果,表示回滚了第一个事务。

第一个事务的信息中:WAITING FOR THIS LOCK TO BE GRANTED,表示的是这个事务在等待的锁信息;
index c of table test.t,说明在等的是表 t 的索引 c 上面的锁;
lock mode S waiting 表示这个语句要自己加一个读锁,当前的状态是等待中;
Record lock 说明这是一个记录锁;
n_fields 2 表示这个记录是两列,也就是字段 c 和主键字段 id;
0: len 4; hex 0000000a; asc ;; 是第一个字段,也就是 c。值是十六进制 a,也就是 10;
1: len 4; hex 0000000a; asc ;; 是第二个字段,也就是主键 id,值也是 10;
这两行里面的 asc 表示的是,接下来要打印出值里面的“可打印字符”,但 10 不是可打印字符,因此就显示空格。
第一个事务信息就只显示出了等锁的状态,在等待 (c=10,id=10) 这一行的锁。
当然你是知道的,既然出现死锁了,就表示这个事务也占有别的锁,但是没有显示出来。别着急,我们从第二个事务的信息中推导出来。

n_fields 6 表示这个记录是六列
第一行是主键值
0: len 2; hex 0002; asc ;; 是第一个字段,也就是 actor_id。值是十六进制0002,也就是 2;
第二行是最近一次修改这行的事务id
1: len 6; hex 000000000ef8; asc ;;  计算得出是 3832
后面就是其它每个字段的值
2: len 7; hex cf0000032b011a; asc + ;;
3: len 4; hex 4e49434b; asc NICK;;
4: len 8; hex 5741484c42455247; asc WAHLBERG;;
5: len 4; hex 43f23ed9; asc C > ;;

第二个事务显示的信息要多一些:
“ HOLDS THE LOCK(S)”用来显示这个事务持有哪些锁;
index c of table test.t 表示锁是在表 t 的索引 c 上;
hex 0000000a 和 hex 00000014 表示这个事务持有 c=10 和 c=20 这两个记录锁;
WAITING FOR THIS LOCK TO BE GRANTED,表示在等 (c=5,id=5) 这个记录锁。

从上面这些信息中,我们就知道:“lock in share mode”的这条语句,持有 c=5 的记录锁,
在等 c=10 的锁;
“for update”这个语句,持有 c=20 和 c=10 的记录锁,在等 c=5 的记录锁


http://www.ppmy.cn/news/1445398.html

相关文章

【Linux系统编程】第十一弹---编辑器vim使用

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、vim的基本概念 2、vim的基本操作 3、vim插入模式命令集 4、vim正常(命令)模式命令集 5、vim末行模式命令集 6、vim操作…

探索PyTorch:开源深度学习框架的魅力

PyTorch作为一款开源深度学习框架,已经在学术界和工业界广泛应用。其简洁易懂的API、动态计算图以及丰富的工具和接口,使得它成为了许多研究人员和工程师的首选。本文将深入探讨PyTorch与深度学习的紧密联系,从其核心特点、应用领域以及未来发…

openssl3.2 - exp - get openssl version info

文章目录 openssl3.2 - exp - get openssl version info概述笔记END openssl3.2 - exp - get openssl version info 概述 查资料时,看到用API取旧版openssl取版本信息。 去openssl工程中看了一下,有个内部测试程序有如何取openssl版本信息的API调用例子…

OpenCV如何在图像中寻找轮廓

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV如何模板匹配 下一篇 :OpenCV系列文章目录(持续更新中......) 目标 在本教程中,您将学习如何: 使用 OpenCV 函数 cv::findContour…

【统计推断】-01 抽样原理之(三)

文章目录 一、说明二、抽样分布三 均值抽样分布3.1 有限母体无放回抽样3.2 有限母体有放回抽样3.3 无限母体 四、比例抽样分布五、和差抽样分布 一、说明 上文中叙述母体和抽样的设计;以及抽样分布的概念,本篇将这种关系定量化,专门针对抽样的…

稳扎稳打 部署丝滑 开源即时通讯(IM)项目OpenIM源码部署流程(linux windows mac)

背景 OpenIM包含多个关键组件,每个都是系统功能必不可少的一部分。具体来说,MongoDB 用于持久化存储;Redis 用作缓存;Kafka 用于消息队列;Zookeeper 用于服务发现;Minio 用于对象存储。这些组件的众多可能会…

ABP项目中关于Swagger显示的一些相关问题

abp默认配置如下。 public override void ConfigureServices(ServiceConfigurationContext context) {var services context.Services;services.AddAbpSwaggerGen(options >{options.SwaggerDoc("v1", new OpenApiInfo { Title "Test API", Version …

JavaScript 中的 this 到底指向谁? 今天彻底把它征服!!!

概述 我们知道,JS 中的 this 指向问题,一直是一个经久不衰的重点和考点。那么它到底难不难呢?怎么说呢?它也难也不难,你要是不把它理清楚,随意变化一下就能把你绊倒;但是你要是把他理清楚了以后…