java.sql.SQLException: The user specified as a definer (''@'') does not exist

最近拉的公司的项目在搭建环境时报错,分析一下发现调用的的sql语句的函数没有访问权限,由于是在本地建立的数据库,函数的创建者并不是我自己,所有在函数安全性修改为invoke,报错就可以了。
在这里插入图片描述DEFINER模式下,默认DEFINER=CURRENT_USER,在存储过程执行时,mysql会检查DEFINER定义的用户’user_name’@'host_name’的权限;
INVOKER模式下,在存储过程执行时,会检查存储过程调用者的权限。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐