在 MySQL 8 中,有以下两个与锁超时相关的参数:
innodb_lock_wait_timeout: 这个参数用于设置 InnoDB 存储引擎的锁等待超时时间(单位为秒)。当一个事务请求获取一个锁时,如果无法立即获取到锁,它会等待一段时间。如果等待超过了该参数设置的时间,则会发生超时并报错。 可以通过以下命令来设置该参数:
SET GLOBAL innodb_lock_wait_timeout = X;其中,X 为期望的超时时间。
lock_timeout: 这个参数用于设置服务器层级别的锁等待超时时间(单位为秒),适用于所有存储引擎。当一个事务请求获取一个锁时,在等待一段时间后如果没有成功获取到锁,则会发生超时并报错。 可以通过以下命令来设置该参数:
SET GLOBAL lock_timeout = X;其中,X 为期望的超时时间。
需要注意的是,修改这些参数可能会对系统性能产生影响,并且应根据实际情况进行调整。
内容由零声教学AI助手提供,问题来源于学员提问




