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命令对我这小白还有点难度,没有深究,只简单的百度一了下,如果你有兴趣,可以深入了解一下,对自己也是一种提高。

你可能感兴趣的:(mysql 1449 : The user specified as a definer ('root'@'%') does not exist)