MySQL - 如何仅使用当前用户的进程显示PROCESSLIST?

时间:2008-12-02 15:14:52

标签: mysql

MySQL 5中是否有办法只显示当前用户的进程(查询)?

用户具有PROCESS权限,因此SHOW PROCESSLIST显示所有用户的正在运行的进程。根据文档,SHOW PROCESSLIST不允许使用任何类型的WHERE语法,也不会将其设置为子查询。

当然,我可以简单地发送查询,例如在一个PHP脚本中,循环遍历结果,丢弃不是我的所有内容,但它看起来效率很低。更改用户权限是不可行的。

还有其他方法吗?提前谢谢。

2 个答案:

答案 0 :(得分:21)

如果您使用的是MySQL 5.1.7或更高版本,则可以使用INFORMATION_SCHEMA中的PROCESSLIST表。因此,您可以使用普通SELECT查询进行查询,并在WHERE子句中应用过滤条件。

此功能未在MySQL 5.0及更早版本中实现。

答案 1 :(得分:3)

如果用户没有PROCESS,则SHOW PROCESSLIST只会显示自己的主题。