如何检查用户是否连接到MySQL服务器?

时间:2014-10-15 08:10:38

标签: mysql

在MS SQL中,我可以使用proc sp_who @ loginame ='user'检查服务器上的用户状态,那么在mySQL上获取用户状态的查询是什么?

2 个答案:

答案 0 :(得分:0)

"香草"方式

SHOW FULL PROCESSLIST

这将返回一个结果集,其中User正在MySQL中运行什么进程。

"自定义"方式

如果要显示所有人已连接(主机,用户,连接数),请使用

SELECT SUBSTRING_INDEX(host, ':', 1) AS host_short,
       GROUP_CONCAT(DISTINCT USER)   AS users,
       COUNT(*)
FROM   information_schema.processlist
GROUP  BY host_short
ORDER  BY COUNT(*),
          host_short;

  • 您也可以通过添加WHERE db = ''
  • 按特定数据库执行此操作
  • 您可以通过添加WHERE command != 'Sleep'
  • 找到非休眠帐户
  • 您只需添加WHERE user = 'root'
  • 即可获得特定用户

我需要让所有用户都使用root帐户连接到mySQL服务器,您有什么想法吗?

SELECT *
FROM information_schema.processlist
WHERE user = 'root'

答案 1 :(得分:0)

使用SHOW processlist;命令:

它将显示如下内容:

| Id   | User     | Host        | db        | Command | Time | State | Info  |
+------+----------+-----------------+-----------------------+---------+------+
| 1419 | root | localhost:60014 | test      | Sleep   |  446 |       | NULL  

您将知道每个用户有多少连接,数据库正在使用...等等