Поиск пользователей подключенных к MariaDB

Вопрос: Существует ли запрос, который вернет всех пользователей, которые в данный момент вошли в MariaDB?
Ответ: В MariaDB есть системная таблица с именем information_schema.processlist, которая показывает потоки, которые в данный момент выполняются. Вы можете выполнить запрос к этой системной таблице, который возвращает всех пользователей, у которых в данный момент есть соединение, работающее в базе данных MariaDB.

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

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

СОВЕТ. У вас должны быть привилегии PROCESS, чтобы просматривать потоки, принадлежащие другим пользователям. В противном случае вы увидите только свои потоки.

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

СтолбецПояснение
IDУникальный идентификатор
USERИмя пользователя (то есть: root, trizor и т.д.)
HOSTхост для пользователя
DBБаза данных, в которой запущен поток
COMMANDКоманда, которая выполняется (например: Query, Sleep и т.д.).
TIMEКоличество секунд, в течение которых работал поток (т.е. 301, 325).
STATEСостояние потока (т.е. выполняется)
INFOОтображает информацию о потоке. (то есть: если COMMAND = ‘Query’ и STATE = ‘executing’, будет отображаться SQL, который запускает пользователь)
TIME_MSКоличество миллисекунд, в течение которых выполнялся поток (то есть: 301471.887, 325595.370)
STAGEЭтап, на котором находится поток
MAX_STAGEМаксимальное количество этапов
PROGRESSПрогресс текущего этапа (то есть: 10%, 95% и т.д.)
MEMORY_USEDОбъем памяти, используемой потоком (то есть: 50200, 82920 и т.д.)
EXAMINED_ROWSКоличество строк, проверенных потоком
QUERY_ID ID запроса