• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • vue手册
  • php手册
  • MySQL手册
  • apache手册
  • redis手册
  • 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

        该变量是从全局选项文件设置的。这包括未覆盖的文件选项EXPLICITEXTRALOGINPERSISTEDSERVER,或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_VALUEMAX_VALUE

      变量的最小和最大允许值。对于没有此类值的变量(即非数字变量),两者均为0。

    • SET_TIME

      最近设置变量的时间。默认时间是服务器在启动期间初始化全局系统变量的时间。

    • SET_USERSET_HOST

      最近设置变量的客户端用户的用户名和主机名。如果客户端连接作为user17从主机host34.example.com使用的帐户'user17'@'%.example.comSET_USER并且SET_HOSTuser17host34.example.com分别。对于代理用户连接,这些值对应于外部(代理)用户,而不是对其执行特权检查的代理用户。每列的默认值是空字符串,表示自服务器启动以来尚未设置该变量。

    variables_info表具有以下索引:

    • 没有

    TRUNCATE TABLE不允许用于该variables_info表。

    如果具有一个可变VARIABLE_SOURCE比其它值DYNAMIC被设定在运行时,VARIABLE_SOURCE成为DYNAMICVARIABLE_PATH成为空字符串。

    仅具有会话值(例如debug_sync)的系统变量无法在启动时设置或保持不变。对于仅会话的系统变量,VARIABLE_SOURCE只能是COMPILEDDYNAMIC

    如果系统变量具有意外VARIABLE_SOURCE值,请考虑您的服务器启动方法。例如,mysqld_safe读取选项文件并传递它在其中找到的某些选项,作为启动mysqld的命令行的一部分。因此,一些系统变量,你在选项文件中设置可能会显示variables_infoCOMMAND_LINE,而不是作为GLOBALSERVER作为您预期。

    一些使用该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_infoglobal_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	|
      +--------------------------	+----------------	+-----------	+-----------	+