MySQL 死锁查询和解决死锁

来了来了来了!客户现场又要骂街了,你们这是什么破系统怎么这么慢啊?!?!

今天遇到了mysql死锁,直接导致服务器CPU被PUA直接GUA了!

别的先别管,先看哪里死锁,或者哪里阻塞了。。。一定一定一定要先恢复现场使用,不然你会知道花儿为什么这样的红...

恢复使用后我们继续悠闲地排查吧。

1.查询是否锁表(肯定锁了一堆)

sql 复制代码
show OPEN TABLES where In_use > 0;

2.查询进程(绷不住了)

sql 复制代码
show processlist;

3.杀死进程id(上面命令所查数据的id)(-_-||一条一条杀吗?不不不!!这种情况直接重启服务器吧)

sql 复制代码
kill id

4.查看正在锁的事务(几乎用不到)

sql 复制代码
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

5.查看等待锁的事务(反正我没用)

sql 复制代码
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

6.查看锁的类型和状态(看我都不看)

sql 复制代码
show status like '%lock%';

再查询进程的时候info字段是相关的sql语句,最后把这个sql重写了才解决!这sql是谁是谁是谁写的我敲xxxxxxx。

相关推荐
这个DBA有点耶8 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
karry_k8 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k8 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
这个DBA有点耶9 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技10 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend11 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
SamDeepThinking12 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
ClouGence14 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
她的男孩14 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码16 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python