求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   模型库  
会员   
 


AI 智能化软件测试方法与实践
5月23-24日 上海+在线



人工智能.机器学习TensorFlow
5月22-23日 北京



图数据库与知识图谱
5月22-23日 北京
 
 

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列出数据库中所有用户
626 次浏览
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元





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



626 次浏览
7次
 捐助