MySQL锁 - Lock wait timeout exceeded
引用地址:https://www.cnblogs.com/zsrecord/p/11858602.html
问题描述:
执行insert或者update,delete,报错:Error Code: 1205. Lock wait timeout exceeded; try restarting transaction
解决方案:
# 1. 查看事务表
select * from information_schema.innodb_trx
在结果中发现trx_mysql_thread_id 有值 xxxx (数字)
# 2. 运行 -- 结果中会有一条与xxxx(数字)对映的数据
show processlist
# 3. 在sql中执行
kill xxxx
原因分析:
mysql的innoDB存储引擎是支持事务的,事务开启后没有被主动commit。导致该资源被长期占用,其他事务在抢占该资源时,因上一个事务的锁而导致抢占失败!因此出现Lock wait timeout exceeded