首页 > 数据库 >Mysql死锁问题如何排查和解决

Mysql死锁问题如何排查和解决

时间:2024-01-17 09:46:15浏览次数:49  
标签:查看 排查 死锁 INNODB Mysql id SELECT

Mysql 查询是否存在锁表有多种方式,这里只介绍一种最常用的。

1、查看正在进行中的事务

SELECT * FROM information_schema.INNODB_TRX

2、查看正在锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

3、查看等待锁的事务

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

4、查询是否锁表

SHOW OPEN TABLES where In_use > 0;

在发生死锁时,这几种方式都可以查询到和当前死锁相关的信息。

5、查看最近死锁的日志

show engine innodb status

解除死锁
如果需要解除死锁,有一种最简单粗暴的方式,那就是找到进程id之后,直接干掉。
查看当前正在进行中的进程

show processlist

也可以使用

SELECT * FROM information_schema.INNODB_TRX;

这两个命令找出来的进程id 是同一个。
杀掉进程对应的进程 id

kill id

验证(kill后再看是否还有锁)

SHOW OPEN TABLES where In_use > 0;

来源:https://www.cnblogs.com/zhf123/p/17196499.html

标签:查看,排查,死锁,INNODB,Mysql,id,SELECT
From: https://www.cnblogs.com/hefeng2014/p/17969114

相关文章

  • MySQL的count(1),count(*),count(列名)的区别
    在MySQL中,`COUNT()`函数用于返回匹配特定条件的行数。以下是`COUNT()`函数中不同用法的区别:1.`COUNT(1)`:此用法中的参数可以是任何常数,不一定是1。这个用法会对结果产生很小的性能提升,因为它告诉MySQL不必去查找行的数据,只需要判断行是否存在即可。因为MySQL只需要判断是否有一......
  • mysql8.0详细安装
    Linux安装MySQL8.0.26超详细图文步骤 1、MySQL8.0.26下载官方网站下载MySQL8.0.26安装包,下载地址:https://downloads.mysql.com/archives/community/需要注意:Linux操作系统是32位还是64位,本案例采用Linux64位操作系统进行讲解,通过wget命令下载安装包。使用df-......
  • springcache condition #result 条件不生效问题排查
    本文主要是日常开发过程当中遇到的一个实际问题,以及问题排查的过程你将了解:springcache注解中condition的作用原理condition以及unless条件判断的区别背景有一个用户权限查询接口,查询用户在某个应用的权限,关键的两个入参信息为appCode(应用编码)account(用户账号)......
  • kettle从入门到精通 第三十一课 mysql 数据连接连接池配置
    无论开发应用程序还是做ETL研发,都离不开连接池的应用,如下是kettle中mysql连接池设置界面,今天重点讲解下连接池中的参数配置。defaultAutoCommit当defaultAutoCommit参数设置为true时,表示连接会自动提交每个单独的SQL语句,这意味着每个语句都将被当作一个独立的事务自动提交......
  • mysql8.0逻辑架构
    1、逻辑架构剖析1.1、服务器处理客户端请求首先MySQL是典型的C/S架构,即Client/Server架构‘,服务器端程序使用的mysqld。不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(SQL语句),服务器进程处理后再向客户端进程发......
  • MYSQL8以上修改初始root密码的方法
    很遗憾的告诉你,你网上查到的各种改my.enf,各种update,在新版MYSQL中,统统失效。解决方法,如下:1.[root@yisu-5f735cb14d716~]#servicemysqldstartRedirectingto/bin/systemctlstartmysqld.service[root@yisu-5f735cb14d716~]#mysql-vWelcometotheMySQLmonitor.Comm......
  • Mysql8忽略大小写的解决方案
    一、删除服务器数据文件由于8.0没法设置参数后重启(失败),所以必须删掉老库,重新启动才行。切记:;本步骤要删掉老库所有资料,如果是数据库当前有用,请做好备份,再进行操作。systemctlstopmysqldcd/var/lib/mysql默认数据在这里rm-rf*二、添加配置,大小写不敏感vim/etc/my.cnflow......
  • nextjs使用prisma连接MySQL
      第一步npminstall@prisma/client 第二步npxprismainit 生成了文件 第三步,修改文件内容 第四步 第五步测试一下,执行npxprismadbpull我里面有一个user表的,拉下来这样显示了 ......
  • 数据库排查慢查询和死锁
    参考地址:https://blog.csdn.net/qq_48424581/article/details/133770383慢查询1\检查是否开启慢查询日志:连接进入mysql数据库后输入命令showvariableslike'slow_query_log';2\在/etc/my.cnf中配置开启可配置记录所有支线时间超过long_query_time秒的查询语句log-slow-que......
  • MFC---多线程(线程死锁)
    死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。#include<stdio.h>#include<windows.h>#include<process.h>intiTickets=5000;CRITICAL_SECTIONg_csA;CRITICAL_SECTIONg_csB;//A窗口B窗口DWORDWINAPISellT......