variables_info表
该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.cnf选项文件中设置的。有关如何MYSQL_HOME设置的详细信息,请参见“使用选项文件”。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只能是COMPILED或DYNAMIC。
如果系统变量具有意外VARIABLE_SOURCE值,请考虑您的服务器启动方法。例如,mysqld_safe读取选项文件并传递它在其中找到的某些选项,作为启动mysqld的命令行的一部分。因此,一些系统变量,你在选项文件中设置可能会显示variables_info为COMMAND_LINE,而不是作为GLOBAL或SERVER作为您预期。
一些使用该variables_info表并具有代表性输出的示例查询:
显示在命令行上设置的变量:
mysql>
SELECT VARIABLE_NAMEFROM performance_schema.variables_infoWHERE VARIABLE_SOURCE = 'COMMAND_LINE'ORDER BY VARIABLE_NAME; +--------------- + | VARIABLE_NAME | +--------------- + | basedir | | datadir | | log_error | | pid_file | | plugin_dir | | port | +--------------- +显示从持久性存储中设置的变量:
mysql>
SELECT VARIABLE_NAMEFROM performance_schema.variables_infoWHERE 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_VALUEFROM performance_schema.variables_infoAS VIINNER JOIN performance_schema.global_variablesAS GVUSING (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 | +-------------------------- +---------------- +----------- +----------- +
