MySQL 查找登录到MySQL的用户
时间:2019-02-04 12:52:31 来源:igfitidea点击:
如何返回当前登录到MySQL的所有用户?
在MySQL中,有一个名为information_schema.processlist的系统表,该表显示当前正在运行的线程。其中包括了当前在MySQL数据库中正在运行连接的所有用户。
查看所有登录到MySQL的用户:
SELECT SUBSTRING_INDEX(host, ':', 1) AS host_short,
GROUP_CONCAT(DISTINCT user) AS users,
COUNT(*) AS threads
FROM information_schema.processlist
GROUP BY host_short
ORDER BY COUNT(*), host_short;
information_schema.processlist表包含以下字段:
| 字段 | 说明 |
|---|---|
| ID | |
| USER | 用户名(例如:root,yunweibiji等) |
| HOST | 主机名 |
| DB | 运行该线程的数据库 |
| COMMAND | 正在运行的命令(例如:Query,Sleep等)。 |
| TIME | 线程已运行的时间秒数 |
| STATE | 线程状态(例如:executing) |
| INFO | 显示有关线程的信息。 |

