1、现象描述
测试环境使用账号A创建了一个函数。发布前通过工具同步结构同步到正式服务器上。在正式服务器上执行异常,报账号A权限异常。
2、问题分析
创建函数的时候,可以指定该函数的定义者。
CREATE DEFINER=userA
@%
PROCEDURE FUNC_test
()
BEGIN
……
END
使用工具同步时会自动给函数指定当前账户,导致同步到正式环境的函数被指定了定义者。执行的时候需要有定义者账号。
3、解决办法
删除定义者信息
修改定义者为实际使用的账号
网友评论