mysql一步步找出锁记录解锁

测试

开启事务,更新记录,并且不提交
在这里插入图片描述

找出锁记录


-- object_name 填表名
SELECT * FROM performance_schema.data_locks where object_name='goods'; 

在这里插入图片描述

  • 可以看到id=1的记录加了锁
  • thread_id 为 123,但是这个 thread_id 不能用来kill,得找出 processlist_id才可以
  • engine_transaction_id 为 905797

根据thread_id找出process_list_id

select * from performance_schema.threads where thread_id=123;

在这里插入图片描述

  • processlist_id 为83, 使用kill 命令杀掉线程要用 processlist_id (如kill 83 就可以解锁了)

根据事务id找出事务对应的线程

-- 上面得到了 engine_transaction_id = 905797
SELECT * FROM information_schema.INNODB_TRX where trx_id=905797;

在这里插入图片描述

  • 可以看出mysql线程id为 83,这个也是 processlist_id,kill 要用到

在processlist找到线程信息

select * from information_schema.PROCESSLIST where ID=83;

在这里插入图片描述

解锁

kill 83

在这里插入图片描述

  • kill 线程后再查询 data_locks 表就没记录了,也就解锁了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘茶蛙泳

just 4 fun

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值