Mysql
拒絕訪問 user@localhost
作為 root 使用者,我這樣做了:
GRANT DELETE, SELECT, INSERT, UPDATE, EXECUTE ON dbName.* TO 'user'@'localhost' IDENTIFIED BY 'apassword';
在’dbName’中,我創建了一個過程’proc_name’,定義器設置為’user’@’localhost’。
同樣,我創建了一個函式 ‘func_name’,定義器設置為 ‘user’@’localhost’。
現在的問題是,我可以進行選擇
func_name();
,但我無法呼叫該程序proc_name()
當我這樣做時:
呼叫 proc_name(),我得到以下錯誤:
錯誤 1044 (42000):拒絕使用者 ‘user’@’localhost’ 訪問數據庫 ‘dbName’
任何指向該解決方案的指針將不勝感激。
正如@Rick 在問題評論中所建議的那樣。我們需要授予 procName 期望的所有權限。就我而言,procName 創建和刪除臨時表。因此,授予對 dbName.* 的 CREATE TEMPORARY TABLES 權限就可以了