MySQL显示用户:列出MySQL数据库中的所有用户

列出MySQL用户

今天我们将指导您完成 如何在MySQL用户数据库中显示所有用户

大多数初学者MySQL用户会问的一个常见问题是“如何查看MySQL服务器中的所有用户?” 他们中的大多数人假设有一个 显示用户 MySQL中的命令,但没有一个。 这是一个常见的错误,因为还有其他MySQL命令可显示有关数据库的信息。 例如, SHOW DATABASES 将向我们显示MySQL服务器中存在的所有数据库,并且 SHOW TABLES 将向我们显示您选择的MySQL数据库中的所有表。

人们通常认为应该有一个 SHOW USERS MySQL中的命令。 即使没有特定的命令,也有几种方法可以实际查看用户列表,甚至可以过滤用户以查看所需的信息。 所有这些都可以通过MySQL命令行工具完成-让我们开始吧。

登录Linux服务器后,执行以下命令登录到MySQL命令行界面。

如何在mysql数据库中显示所有用户登录到您的MySQL服务器

使用以下命令以root用户身份登录到MySQL服务器:

mysql -u root -p

然后输入您的MySQL根密码。 默认情况下未设置它,因此您所需要做的就是按 [Enter] 如果您从未设置过该键。 但是,如果您设置了密码(无论是 mysql_secure_installation 脚本或其他内容),您现在应该输入该密码。

MySQL Show用户命令

mysql显示所有用户

我们只需要查询User表以使用以下命令显示所有MySQL用户:

SELECT User, Host, Password FROM mysql.user;

所有MySQL用户的列表 应该类似于以下内容:

+------------------+--------------+--------------+
| user             | host         | password     |
+------------------+--------------+--------------+
| root             | localhost    | 37as%#8123fs |
| debian-test-user | localhost    | HmBEqPjC5Y   |
| johnsm           | localhost    |              |
| brian            | localhost    |              |
| root             | 111.111.111.1|              |
| guest            | %            |              |
| adrianr          | 10.11.12.13  | RFsgY6aiVg   |
+------------------+--------------+--------------+
7 rows in set (0.01 sec)

如果要添加更多列或排除某些列,只需使用所需列编辑命令。 您可能只需要用户名,因此可以使用 SELECT User FROM mysql.user;

查看所有用户的另一种方法是简单地使用星号

SELECT * FROM mysql.user;

从用户表中选择字段时使用通配符。 它看起来应该像这样: 这将返回 全部

每个用户可能的字段信息。 请注意,字段的数量通常很长/范围很广,因此输出可能无法读取,并且您可能不需要所有可用于每个用户的信息。 这就是为什么我们建议指定字段名称的原因,这样输出将易于阅读,并且您只会看到所需的信息。

一些字段与每个用户所拥有的特权和权限有关(例如“ Insert_priv”或“ Drop_priv”),而一些字段则与用户帐户的常规属性有关,例如“ max_connections”或“ max_updates”。

在MySQL数据库中仅显示唯一的用户名

在mysql中显示用户

在某些情况下,选择用户表可能会产生重复的结果(例如,一个用户使用不同的主机,但用户具有相同的名称)–这会造成混乱,因此您可能只想显示唯一的用户名。 SELECT DISTINCT User FROM mysql.user;如果您只想显示不会在更多行中重复的唯一用户名,则可以使用

+------------------+
| user             | 
+------------------+
| root             | 
| debian-test-user | 
| johnsm           | 
| brian            | 
| guest            | 
| adrianr          | 
+------------------+
6 rows in set (0.01 sec)

,这应该为您提供以下输出:

没有重复的行,就像我们想要的那样。 这可以使您清楚地了解数据库服务器上存在哪些用户。

MySQL用户表信息

mysql显示用户

mysql> desc mysql.user;

正如我们在第2步中提到的,您可以使用许多字段来查看用户的特定属性。 使用此下一个命令,您将能够查看MySQL服务器支持的所有字段。 要查看mysql.user表中包含与该用户表相关的描述的所有字段,请运行以下MySQL命令以查询数据库。

mysql> desc mysql.user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field                  | Type                              | Null | Key | Default               | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host                   | char(60)                          | NO   | PRI |                       |       |
| User                   | char(16)                          | NO   | PRI |                       |       |
| Password               | char(41)                          | NO   |     |                       |       |
| Select_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Insert_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Update_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Delete_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Create_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Drop_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Reload_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Shutdown_priv          | enum('N','Y')                     | NO   |     | N                     |       |
| Process_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| File_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Grant_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| References_priv        | enum('N','Y')                     | NO   |     | N                     |       |
| Index_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Alter_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Show_db_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Super_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Create_tmp_table_priv  | enum('N','Y')                     | NO   |     | N                     |       |
| Lock_tables_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Execute_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Repl_slave_priv        | enum('N','Y')                     | NO   |     | N                     |       |
| Repl_client_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Create_view_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Show_view_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Create_routine_priv    | enum('N','Y')                     | NO   |     | N                     |       |
| Alter_routine_priv     | enum('N','Y')                     | NO   |     | N                     |       |
| Create_user_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Event_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Trigger_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Create_tablespace_priv | enum('N','Y')                     | NO   |     | N                     |       |
| ssl_type               | enum('','ANY','X509','SPECIFIED') | NO   |     |                       |       |
| ssl_cipher             | blob                              | NO   |     | NULL                  |       |
| x509_issuer            | blob                              | NO   |     | NULL                  |       |
| x509_subject           | blob                              | NO   |     | NULL                  |       |
| max_questions          | int(11) unsigned                  | NO   |     | 0                     |       |
| max_updates            | int(11) unsigned                  | NO   |     | 0                     |       |
| max_connections        | int(11) unsigned                  | NO   |     | 0                     |       |
| max_user_connections   | int(11) unsigned                  | NO   |     | 0                     |       |
| plugin                 | char(64)                          | YES  |     | mysql_native_password |       |
| authentication_string  | text                              | YES  |     | NULL                  |       |
| password_expired       | enum('N','Y')                     | NO   |     | N                     |       |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
43 rows in set (0.00 sec)

输出将类似于以下内容。 有很多选择!:

SELECT User, Update_priv FROM mysql.user;

您现在可以将其与步骤2中给出的示例结合起来。例如,如果要返回用户列表及其更新特权,则可以运行以下命令:

只需将“ Update_priv”替换为您可能需要的任何字段。

显示有关当前用户的信息

SELECT user();

您可以使用MySQL的内置功能来查看用于登录MySQL命令行的用户的名称和主机。 它是“ user()”函数,您只需选择它即可:

输出应为您提供有关运行查询的用户的信息。 就这样,在完成本教程之后,您已经了解到

如何通过命令行显示MySQL用户帐户。

在mysql中显示用户 如果您对MySQL数据库还有其他疑问,请随时在下面留下评论。 您总是可以从我们那里获得托管的MySQL VPS,而我们的完全托管支持将帮助您解决与MySQL相关的问题,或者将向您解释

如何显示MySQL数据库中的所有用户。

PS。 如果您喜欢“在MySQL中列出所有用户”上的这篇文章,请使用我们的共享快捷方式,通过社交媒体网络与您的朋友分享。 谢谢。

Sidebar