Spec-Zone.ru › MySQL 5.7

8.14.1 Доступ к списку процессов

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

  • Источники информации о процессах

  • Привилегии, необходимые для доступа к списку процессов

  • Содержимое записей списка процессов

Источники информации о процессах

Информация о процессах доступна из следующих источников:

  • Команда SHOW PROCESSLIST: Раздел 13.7.5.29, «Команда SHOW PROCESSLIST»

  • Команда mysqladmin processlist: Раздел 4.5.2, «mysqladmin — Программа администрирования сервера MySQL»

  • Таблица INFORMATION_SCHEMA PROCESSLIST: Раздел 24.3.18, «Таблица INFORMATION_SCHEMA PROCESSLIST»

  • Таблица Performance Schema processlist: Раздел 25.12.16.3, «Таблица processlist»

  • Столбцы таблицы Performance Schema threads со следующими префиксами для имен столбцов PROCESSLIST_: Раздел 25.12.16.4, «Таблица threads»

  • Вью sys и processlist схемы session: Раздел 26.4.3.22, «Вью processlist и x$processlist» и Раздел 26.4.3.33, «Вью session и x$session»

Таблица threads сопоставляется с SHOW PROCESSLIST, INFORMATION_SCHEMA PROCESSLIST и mysqladmin processlist следующим образом:

  • Доступ к таблице threads не требует мьютекса и минимально влияет на производительность сервера. Другие источники имеют отрицательные последствия для производительности, так как требуют мьютекса.

    Примечание

    Начиная с MySQL 5.7.39, доступна альтернативная реализация для SHOW PROCESSLIST на основе таблицы Performance Schema processlist, которая, как и таблица threads, не требует мьютекса и обладает лучшими характеристиками производительности. Подробности см. в Разделе 25.12.16.3, «Таблица processlist».

  • Таблица threads отображает фоновые потоки, чего не делают другие источники. Она также предоставляет дополнительную информацию для каждого потока, которой нет в других источниках, например, является ли поток фоновым или передним и расположение на сервере, связанное с потоком. Это означает, что таблица threads может использоваться для мониторинга активности потоков, недоступной для других источников.

  • Вы можете включить или выключить мониторинг потоков Performance Schema, как описано в Разделе 25.12.16.4, «Таблица threads».

По этим причинам администраторы баз данных, выполняющие мониторинг сервера с помощью одного из других источников информации о потоках, могут захотеть вместо этого использовать таблицу threads.

Вью sys схемы processlist предоставляет информацию из таблицы Performance Schema threads в более удобном для восприятия формате. Вью sys схемы session предоставляет информацию о пользовательских сессиях, подобно вью sys схемы processlist, но с отфильтрованными фоновыми процессами.

Привилегии, необходимые для доступа к списку процессов

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

Таблица Performance Schema threads также предоставляет информацию о потоках, но доступ к таблице использует другую модель привилегий. См. Раздел 25.12.16.4, «Таблица threads».

Содержимое записей списка процессов

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

  • Id — идентификатор подключения клиента, связанного с потоком.

  • User и Host указывают на учетную запись, связанную с потоком.

  • db — базовая база данных для потока или NULL, если она не выбрана.

  • Command и State указывают, что делает поток.

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

    В следующих разделах перечислены возможные значения Command и State, сгруппированные по категориям. Значение некоторых из этих значений очевидно. Для других предоставляется дополнительное описание.

    Примечание

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

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

  • Info указывает выполняемую потоком команду или NULL, если он не выполняет никакой команды. Для SHOW PROCESSLIST это значение содержит только первые 100 символов команды. Для просмотра полных команд используйте SHOW FULL PROCESSLIST (или запрос к другому источнику информации о процессах).

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

Spec-Zone.ru

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