MySQL 查找登录到MySQL的用户


如何返回当前登录到MySQL的所有用户?

在MySQL中,有一个名为information_schema.processlist的系统表,该表显示当前正在运行的线程。其中包括了当前在MySQL数据库中正在运行连接的所有用户。

查看所有登录到MySQL的用户:

1
2
3
4
5
6
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 显示有关线程的信息。


原文链接:https://codingdict.com/