关于MySQL出现lock wait timeout exceeded; try restarting transaction 的解决方案
如果数据库中有锁的话,我们可以使用这条语句来查看:
select * from information_schema.innodb_trx
语句 LOCK WAIT
为占用系统资源的语句,我们需要杀掉这个锁,执行 kill
线程id
号。上面这条记录的id为199120823069, trx_mysql_thread_id
为 738178711, 所以我们执行:kill 738178711
杀掉这个MySQL语句的线程即可。
kill 738178711
其他的记录不需要关注,因为其他的记录状态为“RUNNING
” 即正在执行的事务,并没有锁。