Spec-Zone.ru › MySQL 9.2

29.12.14.3 Таблица Performance Schema 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, обратитесь к Разделу 6.2.2.2, «Использование файлов параметров».

    • USER

      Переменная была установлена из файла параметров пользователя ~/.my.cnf.

  • VARIABLE_PATH

    Если переменная была установлена из файла параметров, VARIABLE_PATH — это имя пути к этому файлу. В противном случае значение — пустая строка.

  • MIN_VALUE

    Минимально допустимое значение переменной. Для переменных, тип которых не числовой, это всегда 0.

    Этот столбец устарел и может быть удален в будущих версиях; для получения этой информации используйте столбец MIN_VALUE таблицы variables_metadata.

  • MAX_VALUE

    Максимально допустимое значение переменной. Для переменных, тип которых не числовой, это всегда 0.

    Этот столбец устарел и может быть удален в будущих версиях; для получения этой информации используйте столбец MAX_VALUE таблицы variables_metadata.

  • 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_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         |
    +--------------------------+----------------+-----------+-----------+
    

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/performance-schema-variables-info-table.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API