ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как показать пользователей в MySQL

Как показать пользователей в MySQL

Вы когда-нибудь хотели получить список всех пользователей на вашем сервере MySQL? Есть команды для отображения баз данных и таблиц, но нет команды в MySQL “показать пользователей”.

Эта статья объясняет, как перечислить все учетные записи пользователей на сервере базы данных MySQL через командную строку.

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

Все команды будут выполнены внутри оболочки MySQL как пользователь root.

Чтобы получить доступ к оболочке MySQL, введите следующую команду и введите пароль пользователя root MySQL при запросе:

mysql -u root -p

 

Если вы еще не установили пароль для пользователя root в MySQL можно опустить переключатель -p.

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

MySQL хранит информацию о пользователях, в таблице с именем user в базе данных mysql. Чтобы получить список всех учетных записей пользователей в MySQL, можно использовать заявление SELECT и извлечь все строки из таблицы mysql.users:

SELECT User, Host FROM mysql.user;

 

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

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | localhost |
| luke             | %         |
| yoda             | %         |
| alex             | 10.10.0.6 |
| alex             | 10.10.0.9 |
| andeyex          | localhost |
| anton            | localhost |
| sniper           | localhost |
+------------------+-----------+
8 rows in set (0.00 sec)

 

Команда выше показывает только две колонки из таблицы  mysql.user (User и Host), в этой таблице содержится более 40 столбцов, таких как PasswordSelect_privUpdate_priv … и т. д.

Учетная запись пользователя в MySQL состоит из имени пользователя и имени хоста.

Вы можете использовать оператор desc mysql.user; для отображения информации о каждом столбце таблицы. Как только вы узнаете имя столбца, запустите запрос по выбранным данным.

Например, чтобы получить список всех учетных записей пользователей MySQL, включая информацию о пароле и о том, активен он или истек, вы можете использовать следующий запрос:

SELECT User, Host, Password, password_expired FROM mysql.user;

 

+----------------+-----------+-------------------------------------------+------------------+
| User           | Host      | Password                                  | password_expired |
+----------------+-----------+-------------------------------------------+------------------+
| root           | localhost |                                           | N                |
| luke           | %         | *AKFG85M09GH96LG058AKHUYOLN76258E149A7EC8 | N                |
| yoda           | %         | *9550E004046348198A143A115550E1262209FB6F | N                |
| alex           | 10.10.0.6 | *F91C86B486B945C083BKJJF85JF94J75KHD187EC | Y                |
| alex           | 10.10.0.9 |                                           | Y                |
| andreyex       | localhost | *17F2B1E480292KGFG587DJFR85U7JG9FFCA005AF | N                |
| anton          | localhost | *74409C8DB596J6JG86J7GKT9G76JY9H6EDBFC64A | N                |
| sniper         | localhost | *7B3022FCAECKFI6897J9H96J6IG850KYOHD95745 | N                |
+----------------+-----------+-------------------------------------------+------------------+
8 rows in set (0.00 sec)

 

В этой статье мы показали вам, как получить список всех учетных записей пользователей MySQL, извлекая данные из пользовательской таблицы в базе данных mysql.

Не стесняйтесь оставить комментарий, если у вас есть какие-либо вопросы.

 

Exit mobile version