我正在使用MySQL命令行实用程序,可以在数据库中导航。现在我需要查看用户帐户列表。我该怎么做呢?

我使用的是MySQL 5.4.1版本。


使用这个查询:

SELECT User FROM mysql.user;

它将输出一个这样的表:

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

正如Matthew Scharley在关于这个答案的评论中指出的那样,如果您只想看到唯一的用户名,您可以根据User列进行分组。


如果您指的是实际的MySQL用户,请尝试:

select User from mysql.user;

SELECT * FROM mysql.user;

这是一个很大的表,所以您可能希望在选择的字段上更有选择性。


Peter和Jesse是正确的,但是要确保您首先选择了“mysql”数据库。

use mysql;
select User from mysql.user;

这应该能达到你的目的。


我发现这种格式最有用,因为它包含了在MySQL中区分用户记录的重要的主机字段。

select User,Host from mysql.user;

为了避免用户从不同来源连接时出现重复:

select distinct User from mysql.user;

用户帐户包括用户名和主机级访问权限。

因此,这是提供所有用户帐户的查询

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

以root用户登录MySQL,输入以下查询:

select User from mysql.user;

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

db表在确定用户权限方面可能更为重要。我认为,如果您在GRANT命令中提到一个表,就会创建其中的一个条目。在我的情况下,mysql。用户表显示一个用户没有权限,明明可以连接和选择,等等。

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

这将显示唯一用户的列表:

SELECT DISTINCT User FROM mysql.user;

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 |
|                  | %         |
+------------------+-----------+

我用这个来对用户进行排序,所以允许的主机更容易被发现:

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

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

在Linux命令行提示符上执行此命令将首先询问MySQL root用户的密码。在提供正确的密码时,它将把所有数据库用户打印到文本文件中。


我发现他的一个更有用,因为它提供了关于DML和DDL特权的额外信息

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

SELECT User FROM mysql.user;

使用上面的查询来获取MySQL用户。


要看到你的用户,就要使用mysql数据库。

USE mysql;

然后进行选择。

SELECT user,host FROM user;

另一种选择是放置BD.Table。

例如:

SELECT user,host FROM mysql.user;