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。

相关推荐
geekmice3 分钟前
实现一个功能:springboot项目启动将controller地址拼接打印到txt文件
java·spring boot·后端
元气满满-樱5 分钟前
MySQL基础管理
android·mysql·adb
老华带你飞7 分钟前
旅游|基于Java旅游信息系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·旅游
释怀°Believe10 分钟前
javaweb
数据库·sql·oracle
Clarence Liu13 分钟前
redis学习 (1) 基础入门
数据库·redis·学习
小石头 1008628 分钟前
【JavaEE】进程和线程的区别
java·java-ee
天生励志12328 分钟前
Redis 安装部署
数据库·redis·缓存
北半球的夜28 分钟前
emoji 表情符号保存问题
数据库·oracle
oioihoii40 分钟前
C++对象生命周期与析构顺序深度解析
java·开发语言·c++