Mysql
MySQL:有沒有辦法找出哪個使用者呼叫了儲存過程?
伺服器: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()是執行儲存過程的內部執行緒,這可能不起作用。