В каждой СУБД всегда присутствует возможность посмотреть список пользователей зарегистрированных на сервере СУБД. MySQL также не лишена данной особенности. Помимо вывода списка всех пользователей зарегистрированных в MySQL дополнительно можно вывести имя текущего пользователя а также список всех пользователей которые подключены к серверу MySQL в данный момент.
В данной статье будет рассмотрено как посмотреть список пользователей MySQL присутствующих на сервере в операционной системе Ubuntu 20.04.
Содержание статьи
- Как посмотреть список пользователей MySQL
- Как посмотреть текущего пользователя
- Как посмотреть активных пользователей
- Выводы
Как посмотреть список пользователей MySQL
Как и в любой другой СУБД в MySQL можно посмотреть список всех доступных пользователей.
Шаг 1. Вход в консоль MySQL
Для начала необходимо войти в консоль MySQL. Для этого в терминале необходимо ввести следующую команду, где alex имя вашего пользователя:
mysql -u alex -p
Если вход в оболочку осуществляется впервые, то необходимо войти под пользователем root. Далее отобразится фраза с предложением ввести пароль пользователя. На этом этапе необходимо ввести пароль именно пользователя БД, а не пользователя, присутствующего в операционной системе. В качестве безопасности пароль не отображается при вводе в терминале.
Шаг 2. Просмотр доступных полей
Пользователи в MySQL хранятся в базе данных под названием mysql в таблице user. Для того чтобы получить список пользователей MySQL нужно вывести содержимое этой таблицы. Однако из-за большого числа столбцов, вывод команды не отображается корректно. В этом случае вывести список пользователей в читаемом формате можно задав необходимые столбцы.
Таблица user имеет 51 столбец. Выполнив SQL запрос представленный ниже, можно получить наименования и описания всех столбов в этой таблице.
DESCRIBE mysql.user;
В данном случае для просмотра всех доступных пользователей можно вывести всего лишь один столбец - user при помощи SQL запроса:
SELECT user FROM mysql.user;
Как посмотреть текущего пользователя
Чтобы узнать из-под какого пользователя запущена текущая сессия в СУБД необходимо выполнить следующий SQL запрос:
SELECT user();
Также можно выполнить специальную команду, присутствующую в оболочке MySQL - status. Данная команда отображает такую информацию как версию сервера MySQL, номер подключения, включен ли SSL, а также содержит параметр Current user - в котором отображается текущий пользователь. Вывод команды можно увидеть ниже:
status
Как посмотреть активных пользователей
Для вывода всех пользователей, которые подключены к СУБД в текущий момент необходимо выполнить следующий SQL запрос:
SELECT SUBSTRING_INDEX(host, ':', 1) AS host_short, GROUP_CONCAT(DISTINCT user) AS users, COUNT(*) AS threads FROM information_schema.processlist GROUP BY host_short ORDER BY COUNT(*), host_short;
Выводы
В данной статье было рассмотрено как вывести список пользователей MySQL. Сделать это можно несколькими способами. Данная операция является одной из самых распространенных при администрировании сервера СУБД. Если у вас остались вопросы задавайте их в комментариях!