Mysql修改存储过程和函数的定义者

来源:互联网 发布:大数据 为什么java 编辑:程序博客网 时间:2024/06/02 02:23

MySQL中执行存储过程和函数时会检查过程的定义用户是否存在,以及是不是当前用户定义的,如果不存在,或者创建用户不对,即使当前用户有执行权限也会报错。

The user specified as a definer ('otherdataonline@%') does not exist

此时需要修改定义用户,语句如下:

update mysql.proc set DEFINER='root@%' WHERE NAME='p_update_rim_batch_log' AND db='otherdataonline';

刷新函数发现定义者已经修改了,重新连接数据库再执行就不会报错了。

0 0
原创粉丝点击