Mysql

MySQL:有沒有辦法找出哪個使用者呼叫了儲存過程?

  • August 19, 2017

伺服器:MySQL 5.7.14 我遵循此處建議的建議 1 https://dba.stackexchange.com/a/109416/126860

我試圖找出哪個使用者呼叫了儲存過程。但因為我也在使用定義器。該CURRENT_USER();函式返回“定義者”使用者名。

我嘗試使用SHOW PROCESSLIST;來找出誰在執行儲存過程。但它沒有將儲存過程顯示為一個單獨的過程。

有沒有辦法找到呼叫儲存過程的實際使用者。

回到上面Jan 10, 2012,我回答了 MySQL 錯誤:Access denied for user ‘a’@’localhost’ (using password: YES)其中我顯示了兩個函式呼叫:

  • USER()報告您如何嘗試在 mysqld 中進行身份驗證
  • CURRENT_USER()報告您是如何被 mysqld 允許進行身份驗證的

由於CURRENT_USER()顯示定義者,請嘗試使用USER()。它可能會顯示 MySQL 使用者和該使用者來自的主機。請注意,如果USER()是執行儲存過程的內部執行緒,這可能不起作用。

引用自:https://dba.stackexchange.com/questions/183683