您正在设置一个 GLOBAL 系统变量,但您正在查询 SESSION 变量。要使 GLOBAL 变量设置对当前会话生效,您需要重新连接,或者设置 @@SESSION.long_query_time 变量。(注意 SHOW VARIABLES 默认显示会话变量。)
这是一个例子:
mysql> SHOW SESSION VARIABLES LIKE "long_query_time";
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
mysql> SET @@GLOBAL.long_query_time = 1;
mysql> SHOW GLOBAL VARIABLES LIKE "long_query_time";
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 1.000000 |
+-----------------+----------+
mysql> SHOW VARIABLES LIKE "long_query_time";
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
MySQL 8.0 引入了SET PERSIST ..
有助于持久化动态设置的配置的语法。请参阅MySQL 8.0 手册