MySql事务- Lock wait timeout exceeded; try restarting transaction问题解决

记录一次死锁解决步骤
1.查看当前事物
#当前运行的所有事物
mysql> select * from information_schema.INNODB_TRX;

[image:744FD9FF-5E78-4D1B-A9AE-5B8DD7B53EE4-2153-00007C1A009E25BC/CF7CF28C-A31E-4ED0-965E-C1080C2BD475.png]

#当前出现的锁
mysql> select * from information_schema.INNODB_LOCKs;
[image:50024BA5-41A0-4C20-A513-2EEC3D7421DB-2153-00007C272747F773/547FA9AA-56AD-49C4-959D-E6434E71A4B5.png]

#锁等待的对应关系
mysql> select * from information_schema.INNODB_LOCK_waits;
[image:D044C0C0-A180-48AD-A94E-6A71E5EF4B95-2153-00007C1F0CCD8521/423FA792-743D-49C4-B43D-51F7EAF140C9.png]
2.干掉死锁 kill 22374
看事务表INNODB_TRX,里面是否有正在锁定的事务线程,看看ID是否在show processlist里面的sleep线程中,如果是,就证明这个sleep的线程事务一直没有commit或者rollback而是卡住了,我们需要手动kill掉。
Ok解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值