在编写自定义存储过程或函数时,可以指定该函数在执行时以何种安全上下文运行:
SECURITY INVOKER(调用者权限):函数以当前调用该函数的普通用户的权限执行(默认行为)。
SECURITY INVOKER
SECURITY DEFINER(定义者权限):函数以最初创建该函数的函数所有者的特权身份执行,类似于 Unix 系统的 setuid 机制。可用于安全受控地向低权限用户暴露高特权业务操作,但编写时必须极其警惕搜索路径注入等安全风险(详见 CREATE FUNCTION)。
SECURITY DEFINER