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

来源:互联网 发布:淘宝代运营销售累不累 编辑:程序博客网 时间:2024/06/03 04:31

项目开发中,经常会遇到数据库的迁移。但是如果迁移过去的数据库,没用之前创建该数据库的用户,在执行视图或者存储过程的时候会报: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连接,问题解决了。

阅读全文
0 0