MySQL函式和儲存過程許可權問題

2021-10-09 00:14:55 字數 542 閱讀 8038

create definer=`root`@`%` function
sql security

建立函式或者儲存過程的時候, sql secuirty的值決定了呼叫儲存過程的方式,取值 :definer或者invoker 。

definer:在執行儲存過程前驗證definer對應的使用者如:[email protected].%是否存在,以及是否具有執行儲存過程的許可權,若沒有則報錯。

invoker:在執行儲存過程時判斷inovker即呼叫該儲存過程的使用者是否有相應許可權,若沒有則報錯。

修改語法: alter procedure pro_name sql security invoker;

在建立時指定sql security

create procedure pro_name(params....) 

sql security definer|invoker

begin

.....

end;

mysql 過程和函式 MySQL 儲存過程和函式

變數 系統變數 變數由系統提供,不是使用者自定義的,屬於伺服器層面 全域性變數 會話變數 如果是全域性級別,則需要加global,如果是會話級別,則需要加session,如果不寫,則預設是會話 檢視全域性變數 show global variables show global variablesli...

MySQL儲存過程和儲存函式

儲存過程和儲存函式 mysql的儲存過程 stored procedure 和函式 stored function 統稱為stored routines。1.儲存過程和函式的區別 函式只能通過return語句返回單個值或者表物件。而儲存過程不允許執行return,但是通過out引數返回多個值。函式是...

Mysql 儲存過程和函式

一 儲存過程 procedure 本質上沒區別,執行的本質都一樣。只是函式有如 只能返回乙個變數的限制。而儲存過程可以返回多個。函式是可以嵌入在sql中使用的,可以在select中呼叫,而儲存過程要讓sql的query 可以執行,需要把 mysql real connect 的最後乙個引數設定為cl...