该variables_info
表显示了每个系统变量最近设置的来源及其取值范围。
该variables_info
表有以下列:
VARIABLE_NAME
变量名。
VARIABLE_SOURCE
最近设置变量的来源:
COMMAND_LINE
该变量是在命令行上设置的。
COMPILED
该变量具有其编译的默认值。
COMPILED
是用于未以任何其他方式设置的变量的值。DYNAMIC
该变量是在运行时设置的。
init_file
这包括在使用系统变量 指定的文件中设置的 变量。EXPLICIT
该变量是从以该选项命名的选项文件中设置的
--defaults-file
。EXTRA
该变量是从以该选项命名的选项文件中设置的
--defaults-extra-file
。GLOBAL
该变量是从全局选项文件设置的。
EXPLICIT
这包括、EXTRA
、LOGIN
、PERSISTED
、SERVER
或未涵盖的选项文件USER
。LOGIN
该变量是从用户特定的登录路径文件 (
~/.mylogin.cnf
) 设置的。PERSISTED
该变量是从特定于服务器的
mysqld-auto.cnf
选项文件中设置的。如果服务器以persisted_globals_load
禁用状态启动,则没有行具有此值。SERVER
该变量是从特定于服务器的
选项文件中设置的。有关如何$MYSQL_HOME
/my.cnfMYSQL_HOME
设置的详细信息,请参阅 第 4.2.2.2 节,“使用选项文件”。USER
该变量是从用户特定的
~/.my.cnf
选项文件中设置的。
VARIABLE_PATH
如果变量是从选项文件设置的,
VARIABLE_PATH
则为该文件的路径名。否则,值为空字符串。MIN_VALUE
,MAX_VALUE
变量的最小和最大允许值。对于没有此类值的变量(即非数字变量),两者均为 0。
SET_TIME
最近设置变量的时间。默认值是服务器在启动期间初始化全局系统变量的时间。
SET_USER
,SET_HOST
最近设置变量的客户端用户的用户名和主机名。如果客户端 使用帐户
user17
从主机 连接, 则 分别为 和。对于代理用户连接,这些值对应于外部(代理)用户,而不是执行权限检查的代理用户。每列的默认值为空字符串,表示自服务器启动以来尚未设置该变量。host34.example.com
'user17'@'%.example.com
SET_USER
SET_HOST
user17
host34.example.com
该variables_info
表没有索引。
TRUNCATE TABLE
不允许用于variables_info
表。
如果在运行时设置
了一个VARIABLE_SOURCE
值不是的变量,
则变为
空字符串。
DYNAMIC
VARIABLE_SOURCE
DYNAMIC
VARIABLE_PATH
只有会话值(例如
debug_sync
)的系统变量不能在启动时设置或持久化。对于仅限会话的系统变量,
VARIABLE_SOURCE
可以是 only
COMPILED
或DYNAMIC
.
如果系统变量具有意外
VARIABLE_SOURCE
值,请考虑您的服务器启动方法。例如,mysqld_safe
读取选项文件并传递它在其中找到的某些选项作为它用于启动
mysqld的命令行的一部分。因此,您在选项文件中设置的某些系统变量可能会显示为
variables_info
as
COMMAND_LINE
,而不是
您可能期望的
asGLOBAL
或as 。SERVER
使用该
variables_info
表的一些示例查询,具有代表性的输出:
显示在命令行上设置的变量:
mysql> SELECT VARIABLE_NAME FROM performance_schema.variables_info WHERE VARIABLE_SOURCE = 'COMMAND_LINE' ORDER BY VARIABLE_NAME; +---------------+ | VARIABLE_NAME | +---------------+ | basedir | | datadir | | log_error | | pid_file | | plugin_dir | | port | +---------------+
显示从持久存储中设置的变量:
mysql> SELECT VARIABLE_NAME FROM performance_schema.variables_info WHERE VARIABLE_SOURCE = 'PERSISTED' ORDER BY VARIABLE_NAME; +--------------------------+ | VARIABLE_NAME | +--------------------------+ | event_scheduler | | max_connections | | validate_password.policy | +--------------------------+
variables_info
与 表 连接global_variables
以显示持久变量的当前值及其值范围:mysql> SELECT VI.VARIABLE_NAME, GV.VARIABLE_VALUE, VI.MIN_VALUE,VI.MAX_VALUE FROM performance_schema.variables_info AS VI INNER JOIN performance_schema.global_variables AS GV USING(VARIABLE_NAME) WHERE VI.VARIABLE_SOURCE = 'PERSISTED' ORDER BY VARIABLE_NAME; +--------------------------+----------------+-----------+-----------+ | VARIABLE_NAME | VARIABLE_VALUE | MIN_VALUE | MAX_VALUE | +--------------------------+----------------+-----------+-----------+ | event_scheduler | ON | 0 | 0 | | max_connections | 200 | 1 | 100000 | | validate_password.policy | STRONG | 0 | 0 | +--------------------------+----------------+-----------+-----------+