28.3.24 Таблица INFORMATION_SCHEMA PROCESSLIST
INFORMATION_SCHEMA.PROCESSLIST устарела и может быть удалена в будущих версиях MySQL. Вследствие этого, реализация SHOW
PROCESSLIST, использующая эту таблицу, также устарела. Рекомендуется использовать реализацию Performance Schema для PROCESSLIST.
Список процессов MySQL показывает операции, которые в данный момент выполняет набор потоков, работающих в сервере. Таблица PROCESSLIST — один из источников информации о процессах. Для сравнения этой таблицы с другими источниками, см. Источники информации о процессах.
Таблица PROCESSLIST содержит следующие столбцы:
-
IDИдентификатор соединения. Это то же значение, которое отображается в столбце
IdоператораSHOW PROCESSLIST, в столбцеPROCESSLIST_IDтаблицы Performance Schemathreadsи возвращается функциейCONNECTION_ID()внутри потока. -
USERПользователь MySQL, который выполнил оператор. Значение
system userотносится к потоку, не являющемуся клиентом, созданному сервером для обработки внутренних задач, например, потоку обработки отложенных строк или потоку ввода-вывода или SQL, используемому на реплицирующих узлах. Дляsystem userв столбцеHostхост не указан.unauthenticated userотносится к потоку, который стал связан с подключением клиента, но для которого аутентификация пользователя клиента еще не произошла.event_schedulerотносится к потоку, который отслеживает запланированные события (см. Раздел 27.5, «Использование планировщика событий»).ПримечаниеЗначение
USER, равноеsystem user, отличается от привилегииSYSTEM_USER. Первое обозначает внутренние потоки. Второе различает категории пользователей системы и обычных пользователей (см. Раздел 8.2.11, «Категории учетных записей»). -
HOSTИмя хоста клиента, который выполняет оператор (за исключением
system user, для которого хост не указан). Имя хоста для подключений TCP/IP отображается в формате, чтобы проще было определить, какой клиент что делает.host_name:client_port -
DBБаза данных по умолчанию для потока или
NULL, если она не выбрана. -
COMMANDТип команды, которую поток выполняет от имени клиента, или
Sleep, если сеанс простаивает. Описания команд потока см. в Разделе 10.14, «Просмотр информации о потоках (процессах) сервера». Значение этого столбца соответствует командамCOM_протокола клиент/сервер и переменным состоянияxxxCom_. См. Раздел 7.1.10, «Переменные состояния сервера».xxx -
TIMEВремя в секундах, которое поток находится в текущем состоянии. Для потока SQL реплики значение — это количество секунд между отметкой времени последнего реплицированного события и реальным временем узла репликации. См. Раздел 19.2.3, «Потоки репликации».
-
STATEДействие, событие или состояние, которое показывает, чем занят поток. Описания значений
STATEсм. в Разделе 10.14, «Просмотр информации о потоках (процессах) сервера».Большинство состояний соответствуют очень быстрым операциям. Если поток остается в определённом состоянии в течение многих секунд, это может указывать на проблему, которую необходимо проверить.
-
INFOОператор, который выполняет поток, или
NULL, если он не выполняет ни одного оператора. Оператор может быть тем, который отправлен на сервер, или внутренним оператором, если оператор выполняет другие операторы. Например, если операторCALLвыполняет хранимую процедуру, которая выполняет операторSELECT, значениеINFOотображает операторSELECT.
Примечания
PROCESSLIST— нестандартная таблицаINFORMATION_SCHEMA.Как и вывод оператора
SHOW PROCESSLIST, таблицаPROCESSLISTпредоставляет информацию обо всех потоках, даже тех, которые принадлежат другим пользователям, если у вас есть привилегияPROCESS. В противном случае (без привилегииPROCESS) анонимные пользователи имеют доступ к информации о своих потоках, но не к потокам других пользователей, а анонимные пользователи не имеют доступа к информации о потоках.Если оператор SQL ссылается на таблицу
PROCESSLIST, MySQL заполняет всю таблицу один раз, когда начинается выполнение оператора, поэтому существует согласованность чтения во время оператора. Согласованность чтения отсутствует для транзакции с несколькими операторами.
Следующие операторы эквивалентны:
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
SHOW FULL PROCESSLIST
Информацию об использовании этой таблицы можно получить, проверив значения переменных состояния сервера Deprecated_use_i_s_processlist_count и Deprecated_use_i_s_processlist_last_timestamp. Deprecated_use_i_s_processlist_count показывает количество обращений к таблице PROCESSLIST с момента последней перезагрузки сервера; Deprecated_use_i_s_processlist_last_timestamp предоставляет последнее время обращения к таблице в виде метки времени Unix.
© 2025 Oracle
Licensed under the GPLv2 License.