我正在使用MySQL命令行实用程序,可以在数据库中导航。现在我需要查看用户帐户列表。我该怎么做呢?
我使用的是MySQL 5.4.1版本。
我正在使用MySQL命令行实用程序,可以在数据库中导航。现在我需要查看用户帐户列表。我该怎么做呢?
我使用的是MySQL 5.4.1版本。
当前回答
我用这个来对用户进行排序,所以允许的主机更容易被发现:
mysql> SELECT User,Host FROM mysql.user ORDER BY User,Host;
其他回答
db表在确定用户权限方面可能更为重要。我认为,如果您在GRANT命令中提到一个表,就会创建其中的一个条目。在我的情况下,mysql。用户表显示一个用户没有权限,明明可以连接和选择,等等。
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;
为了避免用户从不同来源连接时出现重复:
select distinct User from mysql.user;
$> mysql -u root -p -e 'Select user from mysql.user' > allUsersOnDatabase.txt
在Linux命令行提示符上执行此命令将首先询问MySQL root用户的密码。在提供正确的密码时,它将把所有数据库用户打印到文本文件中。
SELECT * FROM mysql.user;
这是一个很大的表,所以您可能希望在选择的字段上更有选择性。