2008-12-02 35 views
13

在MySQL 5中有沒有辦法只顯示當前用戶的進程(查詢)?MySQL - 如何僅顯示當前用戶進程的PROCESSLIST?

用戶擁有PROCESS權限,因此SHOW PROCESSLIST顯示所有用戶的運行進程。根據文檔,SHOW PROCESSLIST不允許任何種類的WHERE語法,我也沒有設法將它變成子查詢。

當然,我可以簡單地發送查詢,例如,在一個PHP腳本中,並在循環中查看結果,丟棄所有不屬於我的內容,但效率相當低。更改用戶權限並不可行。

還有其他方法嗎?提前致謝。

回答

21

如果您使用MySQL 5.1.7或更新版本,則可以使用INFORMATION_SCHEMA中的PROCESSLIST表。因此,您可以使用普通的SELECT查詢來查詢它,並在WHERE子句中應用過濾條件。

此功能在MySQL 5.0及之前版本中未實現。

+0

正是我在找的,謝謝。 – Piskvor 2008-12-02 16:16:46

3

如果用戶沒有PROCESS,那麼SHOW PROCESSLIST將只顯示他們自己的線程。

相關問題