mysql 1449 : The user specified as a definer ('root'@'%') does not exist

今天在修改别人的代码时,遇到“mysql 1449 : The user specified as a definer ('root'@'%') does not exist”这样的问题,身为小白的我不知道如何下手,问题出现在App请求接口时一直报错,我决定从接口排查错误。

其中,他是这么写的,如图:

当时很不理解,query方法里面放的应该是sql语句啊,他写这是什么鬼? 因为我用的是Navicat数据库管理工具,就新建查询执行了“CALL app_api_all_banner”这条语句,居然还查询到了数据,真牛批,我当时一脸懵逼,这是什么sql语句?

然后百度很多解决掉了此问题:

权限问题,需要授权给 root  所有sql权限,存储过程用CALL

mysql> grant all privileges on *.* to root@"%" identified by ".";

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

上面的两条命令执行完毕后,重启Apache,就成功了,也是在别人的博客帮助下自己总结自己的问题。

至于CALL命令对我这小白还有点难度,没有深究,只简单的百度一了下,如果你有兴趣,可以深入了解一下,对自己也是一种提高。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容