Поиск пользователей вошедших в MySQL

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

В MySQL есть системная таблица с именем information_schema.processlist, которая показывает потоки, которые в настоящее время запущены. Вы можете запустить запрос к этой системной таблице, которая возвратит всех пользователей, у которых в настоящее время запущенно соединение к базе данных MySQL.

Чтобы загрузить всех пользователей, зарегистрированных в MySQL, вы можете выполнить следующий оператор SQL:

Этот оператор SELECT возвращает хост, пользователя и количество потоков для этой комбинации хоста/пользователя.

Примечание

  • У вас должны быть привилегии PROCESS, для просмотра потоков, принадлежащих другим пользователям. В противном случае вы увидите только свои потоки.
  • Системная таблица Information_schema.processlist была представлена в MySQL 5.1.7.

Таблица information_schema.processlist содержит следующие столбцы:

Столбцы Описание
ID Уникальный идентификатор
USER Имя пользователя (например: root, admin и т. д.)
HOST Хост для пользователя
DB База данных, в которой работает поток
COMMAND Выполняется команда (т.е. Query, Sleep и т. д.).
TIME Количество секунд, в течение которых поток был запущен (т.е.: 3, 12, 353)
STATE Состояние потока (т.е.: выполнение)
INFO Отображает информацию о потоке. (т.е. если COMMAND = 'Query' и STATE = 'executing', будет отображаться SQL, который выполняется пользователем)