Spec-Zone.ru › MySQL 8.4

29.12.14.2 Таблица 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.

  • 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_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-8.4-en/performance-schema-variables-info-table.html

Spec-Zone.ru

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