Mysql 存储过程与视图definer
December 31st, 2006
dump出来的数据导入到新服务器的时候,会出现一些存储过程与视图访问的异常,有一个原因是这些routines(view + proc + func)都指定了创建者,也就是definer,definer对该routine权限有特殊含义,所以,解决方法就是记得将mysql.user表也同步过来。当然,最好是重新grant而不是操作该表。
关于存储过程的权限管理,一种是SQL SECURITY INVOKER,一种是SQL SECURITY DEFINER,也就是一种是调用者权限,一种是定义者权限,如果使用第一种,那么执行的时候是以执行者本身的权限来操作存储过程中包含的表。如果是第二种,那么执行的时候,是以该存储过程的定义者权限来操作。
Uncategorized
Recent Comments