You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让低权限MySQL用户查看全量PROCESSLIST统计信息?

解决MySQL低权限用户无法查看全量PROCESSLIST的问题

这是MySQL默认的安全限制导致的——普通用户默认只能看到自己发起的数据库连接进程,所以你的低权限用户返回的结果只有它自己的那1个进程。要解决这个问题,只需要给这个低权限用户授予PROCESS全局权限就可以了,这个权限仅允许用户查看所有进程的列表,不会赋予任何修改数据或配置的权限,完全符合你的安全需求。

具体操作步骤

  1. 用拥有root权限的账号登录到MySQL服务器上
  2. 执行授权语句(替换成你的实际用户名和外部服务器的IP/主机名):
    GRANT PROCESS ON *.* TO '你的低权限用户名'@'外部服务器IP或主机名';
    
    如果允许这个用户从任意主机连接,可以把主机名改成%,但建议限制为指定的外部服务器IP,更安全。
  3. 刷新权限使设置生效:
    FLUSH PRIVILEGES;
    

优化你的查询语句

另外,你原来的查询可以合并成一个更简洁的语句,一次就能获取总进程数和非Sleep的进程数:

SELECT
  COUNT(*) AS total_process_count,
  SUM(CASE WHEN COMMAND != 'Sleep' THEN 1 ELSE 0 END) AS non_sleep_process_count
FROM information_schema.PROCESSLIST;

完成授权后,再用你的低权限用户从外部服务器执行查询,就能得到正确的全量进程统计数据了。

内容的提问来源于stack exchange,提问作者Chris Crozz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:12:21