MySQL 显示用户/列出所有用户 | Mysql Show Users

Mysql 教程


有时您想在 MySQL 中管理数据库。我们需要查看数据库中所有用户帐户的列表。大多数时候,我们假设有一个类似于 SHOW DATABASES、SHOW TABLES 等的SHOW USERS命令,用于显示数据库服务器中所有可用用户的列表。不幸的是,MySQL 数据库没有 SHOW USERS 命令来显示 MySQL 服务器中所有用户的列表。我们可以使用以下查询来查看数据库服务器中所有用户的列表:

mysql> Select user from mysql.user;  

上面语句执行成功后,我们就会从MySQL数据库服务器的user表中获取到用户数据。

让我们看看如何使用这个查询。首先,我们要使用mysql客户端工具打开MySQL服务器,以管理员身份登录服务器数据库。执行以下查询:

> mysql -u root -p  
Enter password: *********  
mysql> use mysql;  
Database changed  
mysql> SELECT user FROM user;  

如果我们想查看用户表的更多信息,请执行以下命令:

mysql> DESC user;  

它将给出以下输出,其中列出了mysql.user数据库的所有可用列:

要获取主机名、密码过期状态和帐户锁定等选定信息,请执行如下查询:

mysql> SELECT user , host, account_locked, password_expired  FROM user ; 

显示当前用户

我们可以通过user()或者current_user()函数获取当前用户的信息。

mysql> Select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
mysql> Select current_user();
+----------------+
| current_user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

显示当前登录的用户

我们可以通过在 MySQL 服务器中使用以下查询来查看数据库服务器中当前登录的用户:

mysql> SELECT user,host,db,command FROM information_schema.processlist;
+------+-----------+-------+---------+
| user | host      | db    | command |
+------+-----------+-------+---------+
| root | localhost | mysql | Query   |
+------+-----------+-------+---------+
1 row in set (0.00 sec)

Mysql 教程


相关