如何使用MySQL中的命令行获取用户帐户列表?

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

我使用的是MySQL版本5.4.1。

1429194 次浏览

使用此查询:

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;

这应该做你的诡计。

我发现这种格式最有用,因为它包括host字段,这在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 |+------+

mysql.db表在确定用户权限方面可能更重要。我认为如果您在GRANT命令中提到表,就会创建一个条目。在我的例子中,mysql.users表显示用户没有权限,而它显然能够连接和选择等。

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_privFROM mysql.user;
SELECT User FROM mysql.user;

使用上述查询获取MySQL用户。

要查看您的用户,可以使用mysql数据库。

USE mysql;

然后进行选择。

SELECT user,host FROM user;

另一种选择是把表格

例如:

SELECT user,host FROM mysql.user;