在MySQL中,存儲過程是一種預先定義好的具有一定邏輯的SQL代碼塊,可以重復運行而不用每次輸入SQL語句。為了執行存儲過程,需要對其進行授權。
GRANT EXECUTE ON PROCEDURE database.procedure_name TO 'username'@'localhost';
以上代碼中,EXECUTE關鍵字指定只授予執行存儲過程權限,而非對存儲過程進行修改或刪除的權限。
PROCEDURE關鍵字指定要授權的對象為存儲過程。
database和procedure_name分別代表存儲過程所在的數據庫和存儲過程名稱。
最后,'username'@'localhost'指定了進行授權的用戶和主機。
在授權執行存儲過程后,用戶可以使用CALL語句執行存儲過程。
CALL database.procedure_name();
使用以上語句,就可以在授權用戶的權限范圍內,執行指定數據庫中的存儲過程。