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。

相关推荐
会算数的⑨5 分钟前
Spring AI Alibaba 学习(三):Graph Workflow 深度解析(下篇)
java·人工智能·分布式·后端·学习·spring·saa
认真的薛薛6 分钟前
数据库-日志管理、备份恢复与主从同步
数据库·分布式·mysql
chilavert3187 分钟前
技术演进中的开发沉思-367:锁机制(上)
java·开发语言·jvm
yixin12314 分钟前
数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(一).创建基础表
数据库·mysql·oracle
sunxunyong16 分钟前
mysql HA异常最新恢复方案
数据库·mysql
BigGGGuardian17 分钟前
写了个 Spring Boot 防重复提交的轮子,已发到 Maven Central
java
hewence117 分钟前
协程间数据传递:从Channel到Flow,构建高效的协程通信体系
android·java·开发语言
哈库纳23 分钟前
dbVisitor 利用 queryForPairs 让键值查询一步到位
java·后端·架构
Re.不晚29 分钟前
Redis——缓存【缓存穿透、缓存雪崩、缓存击穿】
数据库·redis·缓存
野犬寒鸦33 分钟前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
java·服务器·后端·性能优化