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

2024年03月25日 MySQL 显示用户或列出所有用户 极客笔记

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

有时候我们需要在MySQL中管理一个数据库。在这种情况下,我们需要查看数据库中所有用户账号的列表。大多数情况下,我们会假设有一个类似于SHOW DATABASES,SHOW TABLES等命令的 SHOW USERS 命令,用于显示数据库服务器中所有可用用户的列表。不幸的是,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> DESC user;

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

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

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

成功执行后,将会得到以下输出:

显示当前用户

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

mysql> Select user();
         或者,
mysql> Select current_user();

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

显示当前登录用户

我们可以使用以下查询在MySQL服务器中查看当前登录的用户:

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

上述命令会给出如下输出:

在此输出中,我们可以看到当前有四个用户登录到数据库中,其中一个正在执行查询(Query),其他显示为睡眠(Sleep)或守护程序(Daemon)状态。

本文链接:http://so.lmcjl.com/news/372/

展开阅读全文