gpt4 book ai didi

mysql - 什么时候忽略innodb_lock_wait_timeout?

转载 作者:行者123 更新时间:2023-11-29 05:44:25 26 4
gpt4 key购买 nike

我有一个经典死锁异常的奇怪案例:

Caused by: java.sql.BatchUpdateException: Deadlock found when trying to get lock; try restarting transaction.

代码已确定,确实有可能出现死锁。问题是我立即得到异常。我已将 innodb_lock_wait_timeout 变量设置为 1 小时 (3600)。但是,异常马上就来了。

到底发生了什么?

最佳答案

您遇到了死锁 lock_wait_timeout 变量是查询在超时之前等待获取锁的时间 - 不是一回事。

来自手册:InnoDB 事务在放弃之前等待行锁的超时秒数。默认值为 50 秒。试图访问被另一个 InnoDB 事务锁定的行的事务将在发出以下错误之前最多挂起这么多秒:

如果您正在超时,您会看到这个。您有一个需要修复的适当死锁。ERROR 1205 (HY000): 超出锁定等待超时;尝试重启交易

关于mysql - 什么时候忽略innodb_lock_wait_timeout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3751987/

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