Как получить список учетных записей пользователей с помощью командной строки в MySQL?

Я использую утилиту командной строки MySQL и могу перемещаться по базе данных. Теперь мне нужно увидеть список учетных записей пользователей. Как я могу это сделать?

Я использую версию MySQL 5.4.1.

Ответы

Ответ 1

Используйте этот запрос:

SELECT User FROM mysql.user;

Будет выводиться таблица следующим образом:

+-------+
| User  |
+-------+
| root  |
+-------+
| user2 |
+-------+

Как отмечает Matthew Scharley в комментариях к этому ответу, вы можете группировать столбец User, если хотите видеть только уникальные имена пользователей.

Ответ 2

Я считаю этот формат наиболее полезным, поскольку он включает в себя поле хоста, которое важно в MySQL, чтобы различать записи пользователей.

select User,Host from mysql.user;

Ответ 3

Учетная запись пользователя содержит имя пользователя и доступ к хосту.

Следовательно, это запрос, который предоставляет все учетные записи пользователей

SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount FROM mysql.user;

Ответ 4

чтобы избежать повторения пользователей при их подключении из разных источников:

select distinct User from mysql.user;

Ответ 5

Если вы обращаетесь к фактическим пользователям MySQL, попробуйте:

select User from mysql.user;

Ответ 6

MySQL хранит информацию пользователя в своей собственной базе данных. Имя базы данных MySQL. Внутри этой базы данных информация пользователя находится в таблице, наборе данных с именем user. Если вы хотите узнать, какие пользователи настроены в таблице пользователей MySQL, выполните следующую команду:

SELECT User, Host FROM mysql.user;

+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |
| root             | demohost  |
| root             | 127.0.0.1 |
| debian-sys-maint | localhost |
|                  | %         |
+------------------+-----------+

Ответ 7

SELECT * FROM mysql.user;

Это большая таблица, поэтому вы можете захотеть быть более избирательным в том, какие поля вы выберете.

Ответ 8

Войдите в mysql как пользователь root и введите следующий запрос

select User from mysql.user;

+------+
| User |
+------+
| amon |
| root |
| root |
+------+

Ответ 9

Таблица mysql.db, возможно, важнее при определении прав пользователя. Я думаю, что запись в нем создается, если вы укажете таблицу в команде GRANT. В моем случае таблица mysql.users не показывала никаких прав для пользователя, когда она, очевидно, была в состоянии подключиться и выбрать и т.д.

mysql> select * from mysql.db;
mysql> select * from db;
+---------------+-----------------+--------+-------------+-------------+-------------+--------
| Host          | Db              | User   | Select_priv | Insert_priv | Update_priv | Del...

Ответ 10

Я использую это для сортировки пользователей, поэтому разрешенные хосты легче обнаружить:

mysql> SELECT User,Host FROM mysql.user ORDER BY User,Host;

Ответ 11

Питер и Джесси верны, но просто убедитесь, что вы сначала выберите базу данных mysql.

use mysql;

select User from mysql.user;

который должен сделать трюк

Ответ 12

Это отображает список уникальных пользователей:

SELECT DISTINCT User FROM mysql.user;

Ответ 13

$>  mysql -u root -p -e 'Select user from mysql.user' > allUsersOnDatabase.txt

Выполнение этой команды в приглашении linux сначала запросит пароль пользователя root mysql, при предоставлении правильного пароля он распечатает всех пользователей базы данных в текстовый файл.

Ответ 14

Я нашел его еще одним полезным, поскольку он предоставляет дополнительную информацию о привилегиях DML и DDL

SELECT user, Select_priv, Insert_priv , Update_priv, Delete_priv, 
       Create_priv, Drop_priv, Shutdown_priv, Create_user_priv 
FROM mysql.user;

Ответ 15

SELECT User FROM mysql.user;

используйте запрос выше, чтобы получить пользователей Mysql