Поиск пользователей подключенных к 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 запроса