求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 

mysql教程
MySQL快速学习入门
MySQL是什么
MySQL安装
MySQL示例数据库
MySQL导入示例数据库
MySQL基础教程
MySQL查询数据
MySQL WHERE语句
MySQL插入数据
MySQL更新表数据
MySQL删除表数据
MySQL创建与删除数据库
MySQL创建表
MySQL修改表结构
MySQL重命名表
MySQL数据类型
高级部分
MySQL技巧
MySQL存储过程
MySQL视图
MySQL触发器
MySQL管理
MySQL全文搜索
MySQL函数
应用程序连接
MySQL+Node.js连接和操作
Python+MySQL连接和操作
 
 

MySQL列出数据库中所有用户
609 次浏览
7次  

本教程将向您展示如何在MySQL数据库中列出用户。

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

要印出所有MySQL中的所有用户,您是不是想使用MySQL SHOW USERS命令? 不幸的是,MySQL没有类似SHOW DATABASES,SHOW TABLES等那样的SHOW USERS命令,因此列出MySQL数据库服务器中的所有用户,可使用以下查询:

SELECT
user
FROM
mysql.user;

在此语句中,我们从mysql数据库的user表查询用户数据信息。

要执行此查询,您必须以管理员身份登录到MySQL数据库服务器。

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

以下显示了以上查询的输出:

mysql> USE mysql
Database changed
mysql> SELECT user FROM user;
+------------+
| user |
+------------+
| rfc |
| superadmin |
| mysql.sys |
| root |
| super |
+------------+
5 rows in set (0.27 sec)

如上所见,在本地数据库中有五个用户。

要获取有关用户表的更多信息,可以使用以下命令预览其列:

DESC user;

例如,要显示用户和其他信息(如主机,帐户锁定和密码到期状态),请使用以下查询:

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

执行上面查询语句,得到以下结果 -

mysql> SELECT
user,
host,
account_locked,
password_expired
FROM
mysql.user;
+------------+-----------+----------------+------------------+
| user | host | account_locked | password_expired |
+------------+-----------+----------------+------------------+
| root | localhost | N | N |
| mysql.sys | localhost | Y | N |
| superadmin | % | N | N |
| super | localhost | N | N |
| rfc | % | N | N |
+------------+-----------+----------------+------------------+
5 rows in set

显示当前用户

要获取有关当前用户的信息,请使用user()函数,如以下语句所示:

mysql> SELECT user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set

或者使用current_user()函数:

mysql> SELECT current_user();
+----------------+
| current_user() |
+----------------+
| root@localhost |
+----------------+
1 row in set

在本示例的情况下,当前用户是:root@localhost。

显示当前登录的用户

要列出当前登录MySQL数据库服务器的所有用户,请执行以下语句:

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

执行上面语句,得到以下结果 -

mysql> SELECT
user,
host,
db,
command
FROM
information_schema.processlist;
+------+-----------------+----------+---------+
| user | host | db | command |
+------+-----------------+----------+---------+
| root | localhost:51897 | NULL | Sleep |
| root | localhost:51898 | yiibaidb | Sleep |
| root | localhost:55313 | NULL | Query |
| root | localhost:52939 | mysql | Sleep |
+------+-----------------+----------+---------+
4 rows in set

正如使用可以看到的,目前有四个用户登录在MySQL数据库中,一个是执行“查询”状态,其它三个是“睡眠”状态。

在本教程中,您已经学习了如何通过查询mysql数据库中的用户表中的数据来列出MySQL数据库服务器中的所有用户。


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



609 次浏览
7次
 捐助