Как показать запущенные процессы MySQL

Kak Pokazat Zapusennye Processy Mysql



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

MySQL — это реляционная СУБД, которая предлагает пользователям различные варианты вывода списка запущенных процессов. Мы объясним, как показать запущенные процессы MySQL.







Идентификация процессов MySQL

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



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



Способ 1: с помощью команды Show Processlist

Когда вы получаете доступ к MySQL из командной строки, вы можете использовать команду SHOW PROCESSLIST для отображения информации обо всех запущенных процессах на вашем сервере MySQL. При выполнении он дает серверу снимок различных соединений и их информацию, такую ​​как состояние, время и т. д.





Ниже приведена команда для выполнения:

ПОКАЗАТЬ СПИСОК ПРОЦЕССОВ;

Обратите внимание на различные столбцы вывода. Давайте кратко обсудим каждый:



  1. Идентификатор – Он отображает идентификатор запущенного процесса. В случае нескольких запущенных процессов каждый из них имеет свой уникальный идентификатор.
  2. Пользователь – Он представляет пользователя, связанного с конкретным потоком.
  3. Хозяин – Он показывает хост, к которому подключен конкретный клиент. Это имя хоста конкретного клиента, выпустившего оператор.
  4. БД – Если выбрана база данных для определенного потока, она отображается в столбце БД. Если он показывает NULL, база данных не выбрана.
  5. Команда – Он показывает команду, которая выполняется потоком.
  6. Время – Для конкретного потока в этом столбце указано, как долго поток находится в своем текущем состоянии.
  7. Состояние – Он показывает, в каком состоянии или событии участвует поток.
  8. Информация – Он показывает, какой оператор в данный момент выполняет поток.

В этом случае предыдущий вывод является результатом нашей команды SHOW PROCESSLIST. Результат отображается в виде таблицы. Предположим, вы хотите просмотреть те же результаты, но в вертикальном порядке. Вместо этого вы можете использовать следующую команду:

ПОКАЗАТЬ СПИСОК ПРОЦЕССОВ\G;

При желании включите [FULL] в команду, чтобы убедиться, что вы не пропустите ни один запущенный процесс.

Способ 2: через параметр INFORMATION_SCHEMA.PROCESSLIST

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

Вот команда для выполнения:

ВЫБЕРИТЕ * ИЗ INFORMATION_SCHEMA.PROCESSLIST;

Как только вы выполните команду, вы получите вывод, аналогичный приведенному ниже, который показывает все детали запущенных процессов MySQL:

Как убить запущенные процессы MySQL

Предположим, у вас есть проблема с запущенными процессами. Вы можете убить любой простаивающий процесс, чтобы сократить время загрузки вашего сервера и повысить эффективность. Первая задача — определить идентификатор конкретного потока. Мы дали два метода, чтобы найти идентификатор любого потока.

Получив идентификатор, вы можете выполнить команду «kill» со ​​следующим синтаксисом:

KILL <идентификатор_процесса>;

Как только вы выполните команду, вы получите успешный вывод, который показывает затронутую строку, и запрос отключится от сервера. Вот как вы убиваете процесс MySQL.

Заключение

MySQL предлагает два способа отображения запущенных процессов. Мы обсудили оба варианта, учитывая синтаксис и пример команды, чтобы помочь вам понять MySQL SHOW PROCESSLIST. Тем не менее, мы видели, как можно убить запущенный процесс. Надеюсь, теперь вы понимаете, как работает MySQL SHOW PROCESSLIST.