mysql 锁解决的办法

可以查看锁的信息,TRX_MYSQL_THREAD_ID 为processlist的表中的会话id,用于kill

select trx_id,trx_state,trx_started,trx_requested_lock_id,trx_wait_started,trx_weight,trx_mysql_thread_id,trx_query

from innodb_trx

可以查看锁的模式,类型,锁的表

select lock_id,lock_trx_id,lock_mode,lock_type,lock_table,lock_index from innodb_locks

可以查看到请求的事务ID,请求的锁id。阻塞事务id,阻塞锁id。

select requesting_trx_id,requested_lock_id,blocking_trx_id,blocking_lock_id from INNODB_LOCK_WAITS

查看当前的会话

select * from information_schema.processlist

根据INNODB_LOCK_WAITS的requesting_trx_id与blocking_trx_id的值在innodb_trx中查找对应的行信息

select trx_id,trx_state,trx_started,trx_requested_lock_id,trx_wait_started,trx_weight,trx_mysql_thread_id,trx_query

from innodb_trx

where trx_id in (requesting_trx_id,blocking_trx_id);

再根据innodb_trx表中的TRX_MYSQL_THREAD_ID 的值

查看为processlist的表中的会话id,用于kill。根据情况,决定kill掉哪条SQL语句。

相关推荐
jyOverQ9 分钟前
MySQL 联合索引怎么用?最左匹配原则到底是什么意思?
数据库·mysql
没文化的阿浩10 分钟前
【MySQL】用户管理
android·mysql·adb
oradh14 分钟前
Oracle enq: US - contention 等待事件总结
数据库·oracle
姚不倒1 小时前
etcd 学习系列(一):从业务需求出发,理解 etcd 是什么
运维·数据库·etcd
susplus1 小时前
【linux应用软件编程】数据库sqlite3
linux·数据库·sqlite
SelectDB1 小时前
Apache Doris + Lance:让多模态数据真正进入智能驾驶与具身智能的分析闭环
数据库
互联网叫兽1 小时前
redis深入学习二
数据库·redis·学习
疯狂打码的少年2 小时前
【数据库技术】复习日:关系代数 + SQL + 规范化(整理对比表)
jvm·数据库·笔记·sql
先吃饱再说2 小时前
从零开发到工程查询:SQLite 嵌入式数据库与高级 SQL 实战
数据库
ShineWinsu2 小时前
对于MySQL:数据库的操作的解析
linux·数据库·c++·mysql·面试·笔试·库的操作