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.cnfMYSQL_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_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>
SELECTVI.VARIABLE_NAME, GV.VARIABLE_VALUE,VI.MIN_VALUE,VI.MAX_VALUEFROM performance_schema.variables_info AS VIINNER JOIN performance_schema.global_variables AS 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 | +--------------------------+----------------+-----------+-----------+
© 2025 Oracle
Licensed under the GPLv2 License.