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

我使用的是MySQL 5.4.1版本。


当前回答

SELECT * FROM mysql.user;

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

其他回答

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

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

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

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

use mysql;
select User from mysql.user;

这应该能达到你的目的。

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

select User from mysql.user;

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

select distinct User from mysql.user;

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

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