mysql死锁排查流程--(处理mysql阻塞问题)

粗糙版

-- mysql死锁排查

-- 1、排查锁阻塞信息-从里面查找阻塞线程id-- 深度诊断 InnoDB 引擎状态的核心命令

从里面搜索active就可以看到允许线程的存活时间

SHOW ENGINE INNODB STATUS;

-- 2、查询阻塞线程的信息

SELECT * FROM information_schema.processlist

WHERE id = 875724448; -- 替换为阻塞线程ID

-- 3、确认事务无影响后杀死事务进程

KILL 33084655;

完善版

-- 1、查看存储引擎状态,方便检查是否死锁

show engine innodb status;

-- 手动排查死锁(mysql8之前)

-- 1、查询当前锁信息

select * from INFORMATION_SCHEMA.innodb_locks;

select * from INFORMATION_SCHEMA.innodb_lock_waits;

-- 2、找出等待的事务 trx_state = LOCK_WAIT

select trx_id,trx_state "事务状态",trx_started,trx_mysql_thread_id "线程id",trx_query from INFORMATION_SCHEMA.innodb_trx;

-- 3、杀死线程id

kill 1234;

相关推荐
代码什么用8 小时前
Spring基础使用
java·后端·spring
Su米苏9 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
码云数智-园园9 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁9 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网9 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西10 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨10 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
小卡车55510 小时前
java反射、自定义注解的应用(自定义分页)
java
程序员Sunday11 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
BLUcoding11 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom