我正在使用MySQL命令行实用程序,可以在数据库中导航。现在我需要查看用户帐户列表。我该怎么做呢?
我使用的是MySQL 5.4.1版本。
我正在使用MySQL命令行实用程序,可以在数据库中导航。现在我需要查看用户帐户列表。我该怎么做呢?
我使用的是MySQL 5.4.1版本。
当前回答
db表在确定用户权限方面可能更为重要。我认为,如果您在GRANT命令中提到一个表,就会创建其中的一个条目。在我的情况下,mysql。用户表显示一个用户没有权限,明明可以连接和选择,等等。
mysql> select * from mysql.db;
mysql> select * from db;
+---------------+-----------------+--------+-------------+-------------+-------------+--------
| Host | Db | User | Select_priv | Insert_priv | Update_priv | Del...
其他回答
要看到你的用户,就要使用mysql数据库。
USE mysql;
然后进行选择。
SELECT user,host FROM user;
另一种选择是放置BD.Table。
例如:
SELECT user,host FROM mysql.user;
我发现他的一个更有用,因为它提供了关于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;
它将输出一个这样的表:
+-------+
| User |
+-------+
| root |
+-------+
| user2 |
+-------+
正如Matthew Scharley在关于这个答案的评论中指出的那样,如果您只想看到唯一的用户名,您可以根据User列进行分组。
SELECT * 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 |
| | % |
+------------------+-----------+