MySQL 8 记录死锁关的几张表有所变化,重新写一个脚本,便于在出现问题的时候快速处置问题。

死锁示意图

死锁相关的表

information_schema.INNODB_TRX

`performance_schema`.data_lock_waits

`performance_schema`.threads

`performance_schema`.data_locks -- 可不使用

相关说明

-- request 被阻塞的

-- block 引起阻塞的

等效字段

`performance_schema`.threads.PROCESSLIST_ID = `information_schema`.innodb_trx.trx_mysql_thread_id = information_schema.`PROCESSLIST`.id

`performance_schema`.threads.thread_id = `performance_schema`.data_lock_waits.REQUESTING_THREAD_ID

检测脚本

SELECT a.*,c.trx_state as block_trx_state,c.trx_started as block_trx_started,c.trx_query as block_trx_query,c.trx_mysql_thread_id as block_trx_mysql_thread_id,d.thread_id as block_thread_id,d.PROCESSLIST_USER as block_user,d.PROCESSLIST_HOST as block_host

from

(SELECT b.trx_id as req_trx_id,b.trx_state as req_trx_state,b.trx_started as req_trx_started,b.trx_query as req_trx_query,b.trx_mysql_thread_id as req_trx_mysql_thread_id,c.thread_id as req_thread_id,c.PROCESSLIST_USER as req_user,c.PROCESSLIST_HOST as req_host

from `performance_schema`.data_lock_waits a

INNER JOIN information_schema.INNODB_TRX b

on a.REQUESTING_ENGINE_TRANSACTION_ID=b.trx_id and a.REQUESTING_ENGINE_LOCK_ID = b.trx_requested_lock_id

INNER JOIN `performance_schema`.threads c

on a.REQUESTING_THREAD_ID = c.THREAD_ID

) a INNER JOIN `performance_schema`.data_lock_waits b

on a.req_trx_id = b.REQUESTING_ENGINE_TRANSACTION_ID and a.req_thread_id = b.REQUESTING_THREAD_ID

INNER JOIN information_schema.INNODB_TRX c

on b.BLOCKING_ENGINE_TRANSACTION_ID = c.TRX_ID

INNER JOIN `performance_schema`.threads d

on b.BLOCKING_THREAD_ID = d.THREAD_ID

检测结果示意

mysql死锁检测算法_MySQL 8 死锁检测脚本相关推荐

  1. 开源目标检测算法用于交通标志检测全方位评估

    (欢迎关注"我爱计算机视觉"公众号,一个有价值有深度的公众号~) 交通标志检测在自动驾驶.汽车主动安全中应用非常重要,通用的目标检测算法可以通过微调网络的方式直接用于交通标志检测. ...

  2. 基于光电检测图像处理目标检测算法相较传统检测技术的优势

    光电检测图像处理目标检测算法相较传统检测技术有以下几个优势: 速度更快:光电检测图像处理算法可以在较短的时间内处理大量的图像数据,而传统检测技术需要更长的时间来进行目标检测. 精度更高:光电检测图像处 ...

  3. 路面裂痕检测YOLO算法、目标检测算法实现地面裂缝检测

    道路裂纹检测YOLO算法,目标检测,目标识别,裂纹检测 路面裂痕检测YOLO算法.目标检测算法实现地面裂缝检测 车头定位 交通标志识别 车道线识别 自己标注数据,训练模型,效果很好4360063193 ...

  4. mysql死锁检测算法_MySQL InnoDB如何应付死锁

    死锁是事务处理型数据库系统的一个经典问题,但是它们并不是很危险的, 除非它们如此地频繁以至于你根本处理不了几个事务. 当因死锁而产生了回滚时,你通常可以在你的应用程序中重新发出一个事务即可. Inno ...

  5. 如何使用 Yolo v5 对象检测算法进行自定义对象检测

    介绍 在本文中,将向你解释如何使用 Yolo v5 算法检测和分类60+个不同类型的道路交通标志. 我们将从非常基础的开始,涵盖每个步骤,如准备数据集.训练和测试等.在本文中,我们将使用 Window ...

  6. 自动泊车之停车位检测算法(角点检测/语义分割)

    作者丨机器学习AI算法工程 来源丨希骥智能网联汽车 点击进入->3D视觉工坊学习交流群 一.背景介绍 自动泊车大体可分为4个等级: 第1级,APA 自动泊车:驾驶员在车内,随时准备制动,分为雷达 ...

  7. linux+mysql高并发测试_MySQL压力测试shell脚本

    MySQL自带了压力测试工具mysqlslap,所以我们可以不用自己编写程序来测试Mysql读取的压力.压力测试shell脚本如下: #!/bin/sh while true do mysqlslap ...

  8. mysql死锁解决方法_mysql出现死锁的原因及解决方案

    mysql出现死锁的原因及解决方案 发布时间:2020-06-04 16:35:40 来源:51CTO 阅读:418 作者:三月 本文主要给大家介绍mysql出现死锁的原因及解决方案,文章内容都是笔者 ...

  9. mysql 主从同步检查_MySQL主从复制一致性检测

    在MySQL主从复制过程中,常常需要对某些重要的表进行一致性检查. 由于主从数据在同步时存在一定的延迟,因此直接读取服务器数据的方式无法严格保证信息的一致性.在数据在同步完全结束之前,一直处于不断变化 ...

最新文章

  1. 怎么样从一个疯狂下载者成为一个学习者(转)
  2. windows中的常用Dos命令
  3. 怎么学python-没有任何基础的人,该如何学习Python?「附具体步骤」
  4. YII中session和cookie
  5. 自定义View控件(2—手写实例代码)
  6. 2010-04-25 搞定aftr
  7. Spring Boot文档阅读笔记-how-to-implement-2-way-ssl-using-spring-boot
  8. JEECG v2.3 发布,基于代码生成器的智能开发框架
  9. java后台 ajax_ajax提交到java后台之后处理数据的实现
  10. Linux学习总结(79)—— Shell 编程规范
  11. LuaForUnity1:Lua介绍与使用
  12. expdp导出表结构_Oracle用exp导出部分表和expdp
  13. 金蝶k3服务端显示服务器不是有效的,金蝶k3远程服务器设置
  14. MyBatis历史、MyBatis特性、MyBatis下载、MyBatis和其他持久层技术的比较
  15. batchplot插件用法_怎么使用Batchplot命令批量打印CAD图纸
  16. 特征值比对代码/计算相似度代码
  17. ToDesk-----个人免费 极致流畅的远程协助软件
  18. GUI(Graphical User Interface)
  19. 湿寒阳虚体质如何艾灸
  20. 探索不同的文件教案计算机,小学三年级信息技术教案范文

热门文章

  1. HDU5007 Post Robot
  2. DOM中的outerHTML,innerHTML,outerText,innerText的区别
  3. 让列表只显示数据,不显示文件夹的方法
  4. 字符串MD5加密和产生一个随机密码的方法
  5. java学习与总结:计算机网络
  6. java学习与总结:操作系统
  7. 利用pip3 install --upgrade批量更新已过期的python库
  8. 阅片机器人性能增8倍,帮电网大省钱:英特尔加速AI推理细节
  9. 大学毕业后八大让你加班成狗专业盘点,你的专业上榜了嘛?
  10. 蒙特卡罗(Monte Carlo)方法