为什么MySql函数不能执行了?

1、现象描述

测试环境使用账号A创建了一个函数。发布前通过工具同步结构同步到正式服务器上。在正式服务器上执行异常,报账号A权限异常。

2、问题分析

创建函数的时候,可以指定该函数的定义者。    

CREATE DEFINER=userA@% PROCEDURE FUNC_test()
BEGIN
……
END
使用工具同步时会自动给函数指定当前账户,导致同步到正式环境的函数被指定了定义者。执行的时候需要有定义者账号。

3、解决办法

删除定义者信息

修改定义者为实际使用的账号

你可能感兴趣的:(为什么MySql函数不能执行了?)