MySQL—死锁

news2024/11/17 7:53:32

什么是死锁?

好比是两个事务都在等待对方释放锁,之后进行下一步操作,但是最后双方都没有释放资源,所以导致一直处于等待的状态。

但是服务器不会让死锁的状态一直持续,会关闭其中一个影响较小的事务(右边的事务关闭),

参考链接:死锁面试题(什么是死锁,产生死锁的原因及必要条件)-CSDN博客

怎么查看有没有发生死锁呢?

查询是否锁表

show OPEN TABLES where In_use > 0;

查看当前的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;

查看当前锁定的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

查看当前等锁的事务

ELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

减少死锁:

  1. 使用事务,不使用 lock tables 。
  2. 保证没有长事务。
  3. 尽量基于primary或unique key更新数据
  4. 操作完之后立即提交事务,特别是在交互式命令行中。
  5. 如果在用 (SELECT ... FOR UPDATE or SELECT ... LOCK IN SHARE MODE),尝试降低隔离级别。注意:select ... for update (表级锁)、select ... lock in share mode(行级锁)
  6. 修改多个表或者多个行的时候,将修改的顺序保持一致。
  7. 创建索引,可以使创建的锁更少。
  8. 最好不要用 (SELECT ... FOR UPDATE or SELECT ... LOCK IN SHARE MODE)。
  9. 如果上述都无法解决问题,那么尝试使用 lock tables t1, t2, t3 锁多张表
  10. 使用乐观锁和减少锁的粒度,保证一致的锁定顺序,合计设计索引,避免大事务。
  11. 等待超时时,回滚事务或者结束进程。

MySQL死锁的解决方案

彻底搞懂MySQL死锁_mysql deadlock-CSDN博客

面试必问!MySQL死锁是什么,如何解决?史上最全!-CSDN博客

彻底搞懂MySQL死锁_mysql deadlock-CSDN博客

mysql查看死锁和解除锁_查mysql死锁-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2116707.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

紫光展锐完成Android 15同步升级,驱动技术创新与生态共赢

近日,紫光展锐宣布,展锐5G移动平台T820、T770、T765、T760、T750以及4G平台T620、T619、T616、T615、T612、T606,完成Android 15同步升级。相较于过往Android发布,今年同步升级Android 15主要有三大提升: ■ 紫光展锐实…

SaToken认证授权快速上手

SA-TOKEN认证授权快速上手 SaToken简介认证授权实现1 创建5张测试基础表2 配置文件3 Sa-Token的全局拦截器4 自定义权限认证接口扩展5 SaToken用户控制层 测试验证用户2登录验证权限用户1登录验证权限项目代码结构 SaToken简介 SaToken 是一个轻量级 Java 权限认证框架&#x…

【信号】信号的产生

信号的概念 什么是信号?我们生活中的红绿灯,闹钟,外面电话等等这些都是信号,我们是怎么认识这些信号的,我们认识这些信号,并且知道这些信号的处理方法,对于进程来说,也会认识相应的…

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理 控制平面(Control plane) kube-apiserver etcd kube-scheduler kube-controller-manager cloud-controller-manager 小结 节点组件(Node) container runtime Pod kubelet ku…

Chrome、Edge、360及Firefox浏览器加载多个ActiveX插件的介绍

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…

vc-align源码分析 -- ant-design-vue系列

vc-align源码分析 源码地址:https://github.com/vueComponent/ant-design-vue/tree/main/components/vc-align 1 基础代码 1.1 名词约定 需要对齐的节点叫source,对齐的目标叫target。 1.2 props 提供了两个参数: align:对…

成为优秀程序员-代码篇

1. 序言 刚毕业参加工作时候,公司正在快速扩张,我入职的时候组内刚刚招了一大波人,当时leader提出集体cr代码来拉齐团队内的编码规范,每当有对于相对重要改动大的项目就会集体cr代码,老板想法初衷是好的,但…

esp32 gpio 初始化不同类型的管脚,产生脉冲,发生中断

硬件:D4与D18 连接,二极管接D15与3.3v脚 图片 二极管同期性点亮,间隔1秒 参考esp32官网程序,从此程序可以看出,中断程序没有处理任何数据,只是把中断发生的事件存入队列。而用另一新线程来处理中断事务。…

GNSS CTS GNSS Start and Location Flow of Android15

目录 1. 本文概述2.CTS 测试3.Gnss Flow3.1 Gnss Start Flow3.2 Gnss Location Output Flow 1. 本文概述 本来是为了做Android 14 Gnss CTS 的相关环境的搭建和测试,然后在测试中遇到了一些问题,去寻找CTS源码(/cts/tests/tests/location/src/android/l…

Vue3-05_组件高级

背景 对组件的进一步了解,如组件之间通信等知识点,根据教程实现购物车功能,并修复原本的bug. watch 侦听器 用途 watch 侦听器允许开发者监视数据的变化,从而针对数据的变化做特定的操作。例如,监视用户名的变化并发起请求&am…

大模型AI一体机对行业的帮助

大模型AI一体机,如AntSKPro AI离线知识库一体机,是专门为企业和机构设计的集成系统,旨在提供高效的人工智能服务。这类一体机通常包含预训练的大型机器学习模型,以及必要的硬件和软件资源,以支持复杂的数据处理和分析任…

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

网易云音乐歌单下载器

最近要帮小朋友下载一些小学的诗词mp3,找了各种工具,还是这个好使 yun-playlist-downloader: 网易云音乐歌单下载器 特性 支持歌单 / 专辑 / 电台音质选择下载超时 / 重试再次下载默认跳过已下载部分, 使用 content-length 匹配自定义文件名下载进度显…

【代码随想录训练营第42期 Day53打卡 - 图论Part4 - 卡码网 110. 字符串接龙 105. 有向图的完全可达性

目录 一、个人感受 二、题目与题解 题目一:卡码网 110. 字符串接龙 题目链接 题解:BFS哈希 题目二:卡码网 105. 有向图的完全可达性 题目链接 题解:DFS 三、小结 一、个人感受 对于两大基本搜索: 深度优先搜…

JDBC:连接数据库

文章目录 报错 报错 Exception in thread “main” java.sql.SQLException: Can not issue SELECT via executeUpdate(). 最后这里输出的还是地址,就是要重写toString()方法,但是我现在还不知道怎么写 修改完的代码,但是数据库显示&#…

WebGL系列教程二(环境搭建及初始化Shader)

目录 1 前言2 新建html页面3 着色器介绍3.1 顶点着色器、片元着色器与光栅化的概念3.2 声明顶点着色器3.3 声明片元着色器 4 坐标系(右手系)介绍5 着色器初始化5.1 给一个画布canvas5.2 获取WebGL对象5.3 创建着色器对象5.4 获取着色器对象的源5.5 绑定着色器的源5.6 编译着色器…

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥…

佰朔资本:9月首选行业为汽车、电子、医药生物等

5—8月商场接连调整,9月开端进入成绩空窗期,流动性和政策改动从头成为商场中心驱动力,风格切换先行,对当时的商场能够豁达一些。价值和生长风格切换的拐点开始闪现,生长相对价值的成绩优势开端走扩,美联储降…

Axure中继器介绍

中继器我们一般在处理重复性比较高的任务时,能让我们达到事半功倍的效果,中继器在整个axure中属于复杂程度比较高的功能,我们今天大致讲一下常用的方法即可。 一、声明一个中继器 默认展示为三行。 点击样式,这里我们可以添加删…

【原创】java+springboot+mysql校园二手商品交易网设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…