变量 'innodb_lock_wait_timeout' 是一个只读变量

Variable 'innodb_lock_wait_timeout' is a read only variable

我想更改 innodb_lock_wait_timeout MySQL 变量。我尝试使用这个命令

set innodb_lock_wait_timeout=900;

但是当我 运行 这样做时,我得到了以下错误:

ERROR 1238 (HY000): Variable 'innodb_lock_wait_timeout' is a read only variable

默认@@innodb_lock_wait_timeout 是 50,但我想将其更改为 900。

我该怎么做?

innodb_lock_wait_timeout 可以在运行时使用 SET GLOBAL 或 SET SESSION 语句设置。更改 GLOBAL 设置需要 SUPER 权限,并影响随后连接的所有客户端的操作。任何客户端都可以更改 innodb_lock_wait_timeout 的 SESSION 设置,这只会影响该客户端。

您也可以更改配置文件 my.cnf 并添加 innodb_lock_wait_timeout=900。