标题:关于『服务器选项
』、『系统变量
』、『状态变量
』、『可在配置文件中写的变量
』
大哥哥大姐姐,完全不要纠结这些变量的分类,这是服务器厂商人为分类的,我们开发者只需要知道怎么配置、怎么查看即可。也不要记这个变量怎么查看,这个命令查看不了换下一个命令继续查看
变量的分类
官方确实对变量进行了分类但是没有找到分类标准,既然非要找一个分类的标准,那么作者觉得没有比根据变量值是否由服务器自行维护这个标准更合适的了,分类如下:
-
系统变量
用户可修改变量值
-
状态变量
用户不可修改,变量值由服务器自行维护,一般反映了服务器的运行状态
变量的列表清单
官网:
The table lists command-line options (Cmd-line), options valid in configuration files (Option file), server system variables (System Var), and status variables (Status var) in one unified list
翻译:
下表在一个一致的列表中列出了
- 命令行选项
- 可在配置文件中配置的(即只有这部分变量可以配置在
/etc/my.cnf
文件中) - 服务器系统变量
- 服务器状态变量
部分表数据如下表所示:
Name | Cmd-Line | Option File | System Var | Status Var | Var Scope |
---|---|---|---|---|---|
slow_query_log | Yes | Yes | Yes | Global | |
slow_query_log_file | Yes | Yes | Yes | Global | |
Slow_queries | Yes | Both | |||
long_query_time | Yes | Yes | Yes | Both |
对表格的说明
从上表可以看出
1、同一个变量名称可以有多个分类
如 slow_query_log 即可以配置在配置文件中,它也是系统变量
2、变量的范围,有的变量只能是 GLOBAL 范围,有的只能是 SESSION 范围,有的都可以
如 slow_query_log 只能设置为 GLOBAL 变量范围
3、状态变量大部分情况下与系统变量不共存
如 slow_queries 状态变量就不能配置在配置文件中,也不可以通过系统变量的查询方式查询到
不同类型变量如何查询与设置
针对 2 种变量类型,官方给出的查询方式总结如下表所示:
System Var | Status Var | |
---|---|---|
查询方式 | 用 SHOW VARIABLES 语句 | 用 SHOW STATUA 语句 |
设置方式 | 1、用配置文件 2、用 SET 语句 | 不能设置,一般服务器自行维护变量值 |
一般的,反映服务器运行情况的查询用 SHOW STATUS
,用户自行设置的或配置文件中配置的或数据库服务器默认配置的用 SHOW VARIABLES
查询
我们也大可不必纠结某个变量该用哪种方式,一共就 2 种方式这种查不出来我换种方式就是了
传送门: 保姆式Spring5源码解析
欢迎与作者一起交流技术和工作生活