在 MySQL 中,系统变量根据作用范围可分为以下几类:
全局系统变量(Global Variables)
以 `@@` 开头,修改后对所有客户端和会话永久生效。例如:
```sql
SET GLOBAL autocommit = 0; -- 全局禁用自动提交
```
会话系统变量(Session Variables)
以 `@@` 开头,修改后仅对当前客户端会话有效,关闭会话后失效。例如:
```sql
SET SESSION autocommit = 1; -- 当前会话启用自动提交
```
静态系统变量(Static Global Variables)
属于特殊的全局系统变量,修改后对所有后续会话生效,但不会影响已有的会话。例如:
```sql
SET GLOBAL max_connections = 500; -- 增加最大连接数
```
补充说明
全局系统变量和会话系统变量的主要区别在于作用范围:前者影响所有客户端,后者仅限当前连接;
部分资料将全局系统变量统称为“全局变量”,将会话系统变量称为“局部变量”或“系统会话变量”;
修改系统变量需使用 `SET GLOBAL`(全局)或 `SET SESSION`(会话)语法。
声明:
本站内容均来自网络,如有侵权,请联系我们。