MySQL中的定义者(definer)的作用


现象:在数据库迁移之后,调用函数报错,提示definer不存在。

查了一下,发现函数和存储过程之类的,本身调用是不存在权限这个概念的。

definer这个值并不会限制函数和存储过程被调用的权限,但会限制函数和存储过程访问数据库的权限。

函数和存储过程在访问数据库时,会获取definer用户对应的数据库访问权限。

因为在迁库后,definer值没有修改,原数据库的用户在新库中不存在,所以报错,修改一下definer值就可以了

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM