我正在使用MySQL命令行实用程序,可以浏览数据库。现在我需要查看用户帐户列表。我该怎么做?
我使用的是MySQL版本5.4.1。
使用此查询:
SELECT User FROM mysql.user;
它将输出一个这样的表:
+-------+| User |+-------+| root |+-------+| user2 |+-------+
作为Matthew Scharley在对这个答案的评论中指出,如果您只想看到唯一的用户名,您可以按User列分组。
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用户表中设置了哪些用户,请运行以下命令:
MySQL
user
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;
使用上述查询获取MySQL用户。
要查看您的用户,可以使用mysql数据库。
USE mysql;
然后进行选择。
SELECT user,host FROM user;
另一种选择是把表格。
例如:
SELECT user,host FROM mysql.user;