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显示有关线程的信息。