Lock wait timeout exceeded; try restarting transaction

不知是什么原因,在对MySQL数据库的某一个表进行更新时,出现了异常"Lock wait timeout exceeded; try restarting transaction"。原因是这个表被锁住了。

解决办法当然是给这个表解锁了:

1)查询当前运行的所有事务

select * from information_schema.innodb_trx

结果如图

图中红色语句 LOCK WAIT为占用系统资源的语句,这条记录的id为199120823069, trx_mysql_thread_id 为 738178711

2)使用kill杀死线程

kill 738178711

执行后此被锁的表就已经解锁了,可进行正常的更新操作。

就是这么简单,你学废了吗?感觉有用的话,给笔者点个赞吧 !
原文地址:https://www.cnblogs.com/zys2019/p/14977178.html