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