超过锁定等待超时;尝试重新启动事务 MYSQL Python

Posted

技术标签:

【中文标题】超过锁定等待超时;尝试重新启动事务 MYSQL Python【英文标题】:Lock wait timeout exceeded; try restarting transaction MYSQL Python 【发布时间】:2018-10-09 18:14:18 【问题描述】:

我有进行 SQL 更新的 Flask 应用程序:

 query = 'update tbl set x="bla" where filename=%s';
 cursor.execute(query, fileName)

此代码适用于多个文件。 突然,我在更新时开始遇到此错误(错误在每次更新调用中再次出现)。

InternalError: (1205, u'Lock wait timeout exceeded; try restarting transaction')

我看过类似的帖子 Getting "Lock wait timeout exceeded; try restarting transaction" even though I'm not using a transaction

但这并没有解决我的问题。

这是我的进程列表:

试图杀死一些睡眠进程,但没有奏效。

来自SHOW ENGINE INNODB STATUS的信息:

mysql tables in use 1, locked 1
LOCK WAIT 2 lock struct(s), heap size 1136, 5 row lock(s)
MySQL thread id 439228, OS thread handle 139653215057664, query id 7055088 10.66.85.134 admin updating
update tbl set vt_status=\"rescan\" where filename=\'3ec7il\'
Trx read view will not see trx with id >= 131151, sees < 131145

【问题讨论】:

【参考方案1】:

试一试,终于解决了

尝试: 连接 = getConn()

最后: conn.close()

【讨论】:

以上是关于超过锁定等待超时;尝试重新启动事务 MYSQL Python的主要内容,如果未能解决你的问题,请参考以下文章

使用 C# 在 Mysql 上死锁 - “超过锁定等待超时;尝试重新启动事务”

mysql_query("START TRANSACTION")- 超过锁定等待超时;尝试在 Codeigniter Mysql 中重新启动事务

“错误代码:1205。超过锁定等待超时;尝试重新启动事务”删除事件

保存/更新模型时,Django“超过锁定等待超时;尝试重新启动事务”

超过锁定等待超时;尝试重新启动事务 - 插入语句

超过锁定等待超时;从表中删除数据时尝试重新启动事务