您是否曾经想获取MySQL服务器中所有用户的列表?有显示数据库和表的命令,但是没有MySQL“显示用户”命令。

本教程介绍了如何通过命令行列出MySQL数据库服务器中的所有用户帐户。

开始之前

在开始本教程之前,我们假设您已经在系统上安装MySQL或MariaDB服务器。如果没有,您可以按照以下任一教程轻松安装它:

所有命令都将以root用户身份在MySQL Shell中执行。

要访问MySQL Shell,请键入以下命令,并在出现提示时输入您的MySQL root用户密码:

mysql -u root -p

如果您尚未为MySQL超级用户设置密码,则可以省略-p开关。

如果您忘记了MySQL的root密码,则可以按照这些说明进行重置。

显示MySQL用户

MySQL在mysql数据库中名为user的表中存储有关用户的信息。要获取所有MySQL用户帐户的列表,我们可以使用SELECT语句并从mysql.users表中检索所有行:

SELECT User, Host FROM mysql.user;

输出应类似于以下内容:

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | localhost |
| luke             | %         |
| yoda             | %         |
| jabba            | 10.10.0.6 |
| jabba            | 10.10.0.9 |
| chewbacca        | localhost |
| leia             | localhost |
| han              | localhost |
+------------------+-----------+
8 rows in set (0.00 sec)

上面的命令仅显示mysql.user表中的两列(UserHost),该表包含40多个列,例如PasswordSelect_privUpdate_priv…等。 73]MySQL中的

A 用户帐户由用户名和主机名组成。

您可以使用desc mysql.user;语句来显示有关表中各列的信息。一旦知道了列名,就会对所选数据运行查询。

例如,要获取所有MySQL用户帐户的列表,包括有关密码以及该密码是有效还是已过期的信息,可以使用以下查询:

SELECT User, Host, Password, password_expired FROM mysql.user;
+----------------+-----------+-------------------------------------------+------------------+
| User           | Host      | Password                                  | password_expired |
+----------------+-----------+-------------------------------------------+------------------+
| root           | localhost |                                           | N                |
| luke           | %         | *ADC3B5B27617732CD6320A2DA976258E149A7EC8 | N                |
| yoda           | %         | *9550E004046348198A143A115550E1262209FB6F | N                |
| jabba          | 10.10.0.6 | *F91C86B486B945C083B61A05FF6E197560D187EC | Y                |
| jabba          | 10.10.0.9 |                                           | Y                |
| chewbacca      | localhost | *17F2B1E48029294841AD66772BEBB7E6E6A005AF | N                |
| leia           | localhost | *74409C8DB55AC1A6829D801915981C46EDBFC64A | N                |
| han            | localhost | *7B3022FCAEC3534CE67C68322D8AF0C240D95745 | N                |
+----------------+-----------+-------------------------------------------+------------------+
8 rows in set (0.00 sec)

结论

在本教程中,我们向您展示了如何通过从mysql数据库中的用户表中检索数据来获取所有MySQL用户帐户的列表。

如有任何疑问,请随时发表评论。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持