MySQL显示用户/列出所有用户

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

mysql> Select user from mysql.user;  

成功执行上述语句后,我们将从MySQL数据库服务器的用户表中获取用户数据。

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

> mysql -u root -p  

Enter password: *********  

mysql> use mysql;  

Database changed  

mysql> SELECT user FROM user;  

我们将获得以下输出,可以在本地数据库中看到五个用户:

MySQL显示用户/列出所有用户

如果要在用户表上查看更多信息,请执行以下命令:

mysql> DESC user;  

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

MySQL显示用户/列出所有用户

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

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

成功执行后,将给出以下输出:

MySQL显示用户/列出所有用户

显示当前用户

我们可以使用user()或current_user()函数获取当前用户的信息,如下所示:

mysql> Select user();  

         or,  

mysql> Select current_user();  

执行上述命令后,我们将获得以下输出:

MySQL显示用户/列出所有用户

显示当前登录的用户

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

mysql> SELECT user, host, db, command FROM information_schema.processlist;  

上面的命令给出输出,如下所示:

MySQL显示用户

在此输出中,我们可以看到数据库中当前有四个用户登录,其中一个正在执行Query,而其他用户则显示为Sleep或Daemon状态。