当前位置: 移动技术网 > IT编程>数据库>Mysql > MySqlException: The user specified as a definer ('root'@'%') does not exist解决方法

MySqlException: The user specified as a definer ('root'@'%') does not exist解决方法

2019年02月14日  | 移动技术网IT编程  | 我要评论

之前因为mysql安全问题,将root@%改为允许特定ip段进行远程连接,结果有一个接口报the user specified as a definer ('root'@'%') does not exist。

 

先确定到报错所涉及的表,然后查看了存储过程、触发器、视图等,最后发现有一个触发器的definer是root@%,但是这个已经被我改掉了

 

 然后删掉这个触发器,在服务器重新建立这个触发器,此时definer为root@localhost,然后程序正常执行。

 

总结:因为之前创建触发器时默认的definer为root@%(目前已经不存在),导致mysql认为现在的用户无权限访问该触发器,解决方法就是在当前用户下重建该触发器。

   数据库修改mysql.user后应检查,存储过程、触发器、视图等。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网