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.cnfMYSQL_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_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.