MySQL显示用户:列出MySQL数据库服务器中的所有用户
时间:2019-11-20 08:52:34 来源:igfitidea点击:
简介:本教程向您展示如何列出MySQL数据库中的用户。
MySQL显示用户:列出所有用户
您在寻找MySQL SHOW USERS命令吗?不幸的是,MySQL没有SHOW DATABASES,SHOW TABLES等SHOW USERS命令,因此要列出MySQL数据库服务器中的所有用户,请使用以下查询:
SELECT user FROM mysql.user;
在此语句中,我们从mysql数据库的用户表中查询用户数据。
要执行此查询,您必须以管理员身份登录到MySQL数据库服务器。
>mysql -u root -p Enter password: *********** mysql> use mysql; Database changed mysql> SELECT user FROM user;
下面显示了上面查询的输出:
+-----------+ | user | +-----------+ | mysql.sys | | mysqlxsys | | root | +-----------+ 3 rows in set (0.00 sec)
如您所见,本地数据库中有三个用户。
要获取有关用户表的更多信息,可以使用以下命令预览其列:
DESC user;
例如,要显示用户和其他信息,例如主机,帐户锁定和密码到期状态,请使用以下查询:
SELECT user, host, account_locked, password_expired FROM user;
这是查询的输出。
显示当前用户
要获取有关当前用户的信息,请使用user()函数,如以下语句所示:
mysql> SELECT user(); +-----------------+ | user() | +-----------------+ | local@localhost | +-----------------+ 1 row in set (0.00 sec)
或者您使用current_user()函数:
mysql> SELECT current_user(); +----------------+ | current_user() | +----------------+ | local@localhost | +----------------+ 1 row in set (0.00 sec)
在这种情况下,当前用户为local @ localhost。
显示当前登录的用户
要列出当前在MySQL数据库服务器中登录的所有用户,请执行以下语句:
SELECT user, host, db, command FROM information_schema.processlist; +-------+-----------------+---------------+---------+ | user | host | db | command | +-------+-----------------+---------------+---------+ | local | localhost:50591 | classicmodels | Sleep | | root | localhost:50557 | NULL | Query | +-------+-----------------+---------------+---------+ 2 rows in set (0.00 sec)
如使用所示,MySQL数据库中当前有两个用户登录,一个正在执行查询,另一个正在"睡眠"。
在本教程中,您学习了如何通过查询mysql数据库中的user表中的数据来列出MySQL数据库服务器中的所有用户。