Spec-Zone.ru › MySQL 5.7

13.7.5.29 Заявление SHOW PROCESSLIST

SHOW [FULL] PROCESSLIST

Список процессов MySQL указывает операции, которые в данный момент выполняются набором потоков, работающих в сервере. Выражение SHOW PROCESSLIST является одним из источников информации о процессах. Сравнение этого выражения с другими источниками см. в разделе Источники информации о процессах.

Если у вас есть привилегия PROCESS, вы можете увидеть все потоки, даже принадлежащие другим пользователям. В противном случае (без привилегии PROCESS), пользователи, не являющиеся анонимными, имеют доступ к информации о своих собственных потоках, но не к потокам других пользователей, а анонимные пользователи не имеют доступа к информации о потоках.

Без ключевого слова FULL, SHOW PROCESSLIST отображает только первые 100 символов каждого оператора в поле Info.

Выражение SHOW PROCESSLIST очень полезно, если вы получаете сообщение об ошибке “слишком много подключений” и хотите узнать, что происходит. MySQL резервирует одно дополнительное подключение для использования учетными записями, у которых есть привилегия SUPER, чтобы гарантировать, что администраторы всегда смогут подключаться и проверять систему (предполагается, что вы не предоставляете эту привилегию всем своим пользователям).

Потоки могут быть убиты с помощью выражения KILL. См. Раздел 13.7.6.4, «Заявление KILL».

Пример вывода SHOW PROCESSLIST:

mysql> SHOW FULL PROCESSLIST\G
*************************** 1. row ***************************
     Id: 1
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 1030455
  State: Waiting for master to send event
   Info: NULL
*************************** 2. row ***************************
     Id: 2
   User: system user
   Host:
     db: NULL
Command: Connect
   Time: 1004
  State: Has read all relay log; waiting for the slave
         I/O thread to update it
   Info: NULL
*************************** 3. row ***************************
     Id: 3112
   User: replikator
   Host: artemis:2204
     db: NULL
Command: Binlog Dump
   Time: 2144
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL
*************************** 4. row ***************************
     Id: 3113
   User: replikator
   Host: iconnect2:45781
     db: NULL
Command: Binlog Dump
   Time: 2086
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL
*************************** 5. row ***************************
     Id: 3123
   User: stefan
   Host: localhost
     db: apollon
Command: Query
   Time: 0
  State: NULL
   Info: SHOW FULL PROCESSLIST

Вывод SHOW PROCESSLIST содержит следующие столбцы:

  • Id

    Идентификатор подключения. Это то же значение, отображаемое в столбце ID таблицы INFORMATION_SCHEMA PROCESSLIST, отображаемое в столбце PROCESSLIST_ID таблицы Performance Schema threads и возвращаемое функцией CONNECTION_ID() внутри потока.

  • User

    Пользователь MySQL, который выпустил оператор. Значение system user относится к потоку, не являющемуся клиентом, созданному сервером для обработки задач в собственном контексте, например, к потоку обработчика отложенных строк или потоку ввода-вывода или SQL, используемому на узлах-репликах. Для system user в столбце Host не указан хост. unauthenticated user относится к потоку, который стал связан с подключением клиента, но для которого аутентификация пользователя клиента еще не произошла. event_scheduler относится к потоку, который отслеживает запланированные события (см. Раздел 23.4, «Использование планировщика событий»).

  • Host

    Имя хоста клиента, который выпустил оператор (за исключением system user, для которого хост не указан). Имя хоста для TCP/IP-соединений сообщается в формате host_name:client_port, чтобы облегчить определение того, какой клиент что делает.

  • db

    База данных по умолчанию для потока или NULL, если она не выбрана.

  • Command

    Тип команды, которую выполняет поток от имени клиента, или Sleep, если сеанс простаивает. Описание команд потока см. в Разделе 8.14, «Просмотр информации о потоке сервера (процессе)». Значение этого столбца соответствует командам COM_xxx протокола клиент/сервер и переменным состояния Com_xxx. См. Раздел 5.1.9, «Переменные состояния сервера».

  • Time

    Время в секундах, которое поток находился в текущем состоянии. Для потока SQL-реплики значение равно числу секунд между меткой времени последнего реплицированного события и реальным временем хоста реплики. См. Раздел 16.2.3, «Потоки репликации».

  • State

    Действие, событие или состояние, указывающее, что делает поток. Описание значений State см. в Разделе 8.14, «Просмотр информации о потоке сервера (процессе)».

    Большинство состояний соответствуют очень быстрым операциям. Если поток остается в данном состоянии в течение многих секунд, это может указывать на проблему, которую необходимо расследовать.

  • Info

    Оператор, который выполняет поток, или NULL, если он не выполняет оператор. Оператор может быть тем, который отправлен на сервер, или внутренним оператором, если оператор выполняет другие операторы. Например, если оператор CALL выполняет хранимую процедуру, которая выполняет оператор SELECT, значение Info показывает оператор SELECT.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/show-processlist.html

Spec-Zone.ru

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