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

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