definer('root'@'%') does not exist

项目开发中,经常会遇到数据库的迁移。但是如果迁移过去的数据库,没用之前创建该数据库的用户,在执行视图或者存储过程的时候会报:1449 The user specified as a definer (‘root’@’%’) does not exist。
另外,在实际项目过程中,使用了免安装的mysql,配置好后,用navicat连接本地数据库,也会出现这种问题,碰到的不止一次喽。那么,我们该如何解决呢??
1、打开DOS,将目录切换至mysql的bin目录下

这里写图片描述

2、登录mysql,输入命令mysql -uroot -p,回车,会提示输入密码,如下

这里写图片描述

输入密码后,再回车。登录成功

这里写图片描述

3、添加host访问权限;命令如下:
grant all privileges on . to root@”%” identified by “123456”;

这里写图片描述

4、最后更新权限;命令如下:flush privileges;

这里写图片描述

5、再次运行或再次用navicat连接,问题解决了。

发布了27 篇原创文章 · 获赞 5 · 访问量 3万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览