MySQL 5中是否有办法只显示当前用户的进程(查询)?
用户具有PROCESS
权限,因此SHOW PROCESSLIST
显示所有用户的正在运行的进程。根据文档,SHOW PROCESSLIST
不允许使用任何类型的WHERE
语法,也不会将其设置为子查询。
当然,我可以简单地发送查询,例如在一个PHP脚本中,循环遍历结果,丢弃不是我的所有内容,但它看起来效率很低。更改用户权限是不可行的。
还有其他方法吗?提前谢谢。
答案 0 :(得分:21)
如果您使用的是MySQL 5.1.7或更高版本,则可以使用INFORMATION_SCHEMA中的PROCESSLIST表。因此,您可以使用普通SELECT
查询进行查询,并在WHERE
子句中应用过滤条件。
此功能未在MySQL 5.0及更早版本中实现。
答案 1 :(得分:3)
如果用户没有PROCESS
,则SHOW PROCESSLIST
只会显示自己的主题。