我正在使用MySQL命令行实用程序,可以在数据库中导航.现在我需要查看用户帐户列表.我怎样才能做到这一点?
我正在使用MySQL版本5.4.1
.
使用此查询:
SELECT User FROM mysql.user;
这将输出如下表格:
+-------+ | User | +-------+ | root | +-------+ | user2 | +-------+
正如Matthew Scharley 在对此答案的评论中指出的那样,User
如果您只想查看唯一的用户名,则可以按列分组.
我发现这种格式最有用,因为它包含了主机字段,这在MySQL中很重要,可以区分用户记录.
select User,Host from mysql.user;
用户帐户包括用户名和主机级访问权限.
因此,这是提供所有用户帐户的查询
SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount FROM mysql.user;
避免用户从不同来源连接时重复使用:
select distinct User from mysql.user;
如果您指的是实际的MySQL用户,请尝试:
select 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 | | | % | +------------------+-----------+
SELECT * 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...
我使用它来对用户进行排序,因此更容易发现允许的主机:
mysql> SELECT User,Host FROM mysql.user ORDER BY User,Host;
彼得和杰西是正确的,但只要确保你首先选择mysql数据库.
use mysql;
select User from mysql.user;
应该做你的伎俩
这将显示唯一用户列表:
SELECT DISTINCT User FROM mysql.user;