Rechercher dans le manuel MySQL

26.12.13.2 Performance Schema variables_info Table

The variables_info table shows, for each system variable, the source from which it was most recently set, and its range of values.

variables_info has these columns:

  • VARIABLE_NAME

    The variable name.

  • VARIABLE_SOURCE

    The source from which the variable was most recently set:

    • COMMAND_LINE

      The variable was set on the command line.

    • COMPILED

      The variable has its compiled-in default value. COMPILED is the value used for variables not set any other way.

    • DYNAMIC

      The variable was set at runtime. This includes variables set within files specified using the init_file system variable.

    • EXPLICIT

      The variable was set from an option file named with the --defaults-file option.

    • EXTRA

      The variable was set from an option file named with the --defaults-extra-file option.

    • GLOBAL

      The variable was set from a global option file. This includes option files not covered by EXPLICIT, EXTRA, LOGIN, PERSISTED, SERVER, or USER.

    • LOGIN

      The variable was set from a user-specific login path file (~/.mylogin.cnf).

    • PERSISTED

      The variable was set from a server-specific mysqld-auto.cnf option file. No row has this value if the server was started with persisted_globals_load disabled.

    • SERVER

      The variable was set from a server-specific $MYSQL_HOME/my.cnf option file. For details about how MYSQL_HOME is set, see Section 4.2.2.2, “Using Option Files”.

    • USER

      The variable was set from a user-specific ~/.my.cnf option file.

  • VARIABLE_PATH

    If the variable was set from an option file, VARIABLE_PATH is the path name of that file. Otherwise, the value is the empty string.

  • MIN_VALUE, MAX_VALUE

    The minimum and maximum permitted values for the variable. Both are 0 for variables that have no such values (that is, variables that are not numeric).

  • SET_TIME

    The time at which the variable was most recently set. The default is the time at which the server initialized global system variables during startup.

  • SET_USER, SET_HOST

    The user name and host name of the client user that most recently set the variable. If a client connects as user17 from host host34.example.com using the account 'user17'@'%.example.com, SET_USER and SET_HOST will be user17 and host34.example.com, respectively. For proxy user connections, these values correspond to the external (proxy) user, not the proxied user against which privilege checking is performed. The default for each column is the empty string, indicating that the variable has not been set since server startup.

The variables_info table has these indexes:

  • None

TRUNCATE TABLE is not permitted for the variables_info table.

If a variable with a VARIABLE_SOURCE value other than DYNAMIC is set at runtime, VARIABLE_SOURCE becomes DYNAMIC and VARIABLE_PATH becomes the empty string.

A system variable that has only a session value (such as debug_sync) cannot be set at startup or persisted. For session-only system variables, VARIABLE_SOURCE can be only COMPILED or DYNAMIC.

If a system variable has an unexpected VARIABLE_SOURCE value, consider your server startup method. For example, mysqld_safe reads option files and passes certain options it finds there as part of the command line that it uses to start mysqld. Consequently, some system variables that you set in option files might display in variables_info as COMMAND_LINE, rather than as GLOBAL or SERVER as you might otherwise expect.

Some sample queries that use the variables_info table, with representive output:

  • Display variables set on the command line:

    1. mysql> SELECT VARIABLE_NAME
    2.        FROM performance_schema.variables_info
    3.        WHERE VARIABLE_SOURCE = 'COMMAND_LINE'
    4.        ORDER BY VARIABLE_NAME;
    5. +---------------+
    6. | VARIABLE_NAME |
    7. +---------------+
    8. | basedir       |
    9. | datadir       |
    10. | log_error     |
    11. | pid_file      |
    12. | plugin_dir    |
    13. | port          |
    14. +---------------+
  • Display variables set from persistent storage:

    1. mysql> SELECT VARIABLE_NAME
    2.        FROM performance_schema.variables_info
    3.        WHERE VARIABLE_SOURCE = 'PERSISTED'
    4.        ORDER BY VARIABLE_NAME;
    5. +--------------------------+
    6. | VARIABLE_NAME            |
    7. +--------------------------+
    8. | event_scheduler          |
    9. | max_connections          |
    10. | validate_password.policy |
    11. +--------------------------+
  • Join variables_info with the global_variables table to display the current values of persisted variables, together with their range of values:

    1. mysql> SELECT
    2.          VI.VARIABLE_NAME, GV.VARIABLE_VALUE,
    3.          VI.MIN_VALUE,VI.MAX_VALUE
    4.        FROM performance_schema.variables_info AS VI
    5.          INNER JOIN performance_schema.global_variables AS GV
    6.          USING(VARIABLE_NAME)
    7.        WHERE VI.VARIABLE_SOURCE = 'PERSISTED'
    8.        ORDER BY VARIABLE_NAME;
    9. +--------------------------+----------------+-----------+-----------+
    10. | VARIABLE_NAME            | VARIABLE_VALUE | MIN_VALUE | MAX_VALUE |
    11. +--------------------------+----------------+-----------+-----------+
    12. | event_scheduler          | ON             | 0         | 0         |
    13. | max_connections          | 200            | 1         | 100000    |
    14. | validate_password.policy | STRONG         | 0         | 0         |
    15. +--------------------------+----------------+-----------+-----------+

Find a PHP function

Document created the 26/06/2006, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/mysql-rf-variables-info-table.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

References

  1. View the html document Language of the document:en Manuel MySQL : https://dev.mysql.com/

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.

Contents Haut