+ -
当前位置:首页 → 问答吧 → MYSQL中如何杀掉一个在等待锁的语句?

MYSQL中如何杀掉一个在等待锁的语句?

时间:2011-08-27

来源:互联网

我刚才试过使用show processlist以后查找相关语句的id,然后使用kill query id可以停掉长时间运行的insert。

不过如果A事务把表a锁住,然后B事务尝试获取表a的锁,这是就会出现锁等待。此时我想要停掉B事务中的当前语句,使用kill的方法不管用,B事务中语句仍然等待,直到报错ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

请问大家有没有什么好的解决办法?

作者: wh62592855   发布时间: 2011-08-27

innodb_lock_wait_timeout设置成 小一点.

作者: mr_mablevi   发布时间: 2011-08-27

引用 1 楼 mr_mablevi 的回复:

innodb_lock_wait_timeout设置成 小一点.
谢谢 
我刚才看了下这个参数的介绍,调小的话是能减少等待锁的时间,不过我想问的是有没有语句能够直接停掉等待锁的那条命令?而不是被动的等待超时然后退出

作者: wh62592855   发布时间: 2011-08-27