gpt4 book ai didi

mysql - 找出是什么锁定了 MySQL InnoDB 表行

转载 作者:行者123 更新时间:2023-11-29 04:42:50 25 4
gpt4 key购买 nike

我使用带有 InnoDB 表的数据库。当我尝试更新一行时,我收到“错误 1205 (HY000):超出锁定等待超时;尝试重新启动事务”消息,我没有在任何其他行(我已经尝试过)上收到该消息。

我该如何调试它?

SHOW PROCESSLIST;

仅产生休眠进程,因为它是一个 InnoDB 表,SHOW TABLE STATUS 基本上没用(似乎只适用于 MyISAM 表)。

SHOW ENGINE INNODB STATUS

也不包含任何有用的东西; LATEST DETECTED DEADLOCK 部分包含 3 天前的两个事务,它们不再存在(线程 ID 不再出现在 SHOW PROCESSLIST 中)并且看起来不再相关。

有什么方法可以知道是什么查询导致了问题?我也很想看到 InnoDB 表上的当前锁,现在是什么锁定什么——而不是三天前。

最佳答案

你查过mysql的错误日志文件了吗?也许有更多关于哪个交易失败的细节。

要显示所有正在使用的表,只需执行此语法

SHOW OPEN TABLES WHERE IN_Use=1

关于mysql - 找出是什么锁定了 MySQL InnoDB 表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24880374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com