关于MySQ运行超时的问题

316 阅读1分钟

问题

再运行某个Update语句的时候出现了如下的错误:

Lock wait timeout exceeded; try restarting transaction

猜想

当时遇到这个问题的时候就猜想是事务仍然再执行

方法

查看事务列表

select * from information_schema.innodb_trx;

可以看到确实存在这个事务,trx_mysql_thread_id =515,此时再执行SHOW PROCESSLIST;查看进程列表确实存在这样一个id为515的进程,然后执行kill 515把这个进程干掉,最后执行这个update语句就不再出现这个超时的问题