The user specified as a definer (‘root‘@‘%‘) does not exist --MySQL报错

新拿到的项目 把拿来的脚本导入数据库之后 居然访问视图的时候出错了
错误显示的是这个

The user specified as a definer (‘root’@’%’) does not exist

视图定义者不存在

原因: 线上运行的是root@%1本地部署的是 root@localhost
在用户中不存在root@%1(1可忽略 不然没办法高亮。。。。。)

在查询视图的时候 mysql会去检查视图定义者是否存在
不存在则会报这个错误

解决方法: 因为我拿到的是样品系统,所以数据库是的 所以选择导出视图sql语句,然后删除数据库中相关视图,再导入即可。视图中存在数据的建议另外寻找方法(切记)。

另外再排查过程中可能用到的MySQL语句贴上:
select user(); –查询当前登录用户
SHOW GRANTS FOR ‘root’@‘localhost’; –查登录用户root’@'localhost的权限
SELECT User, Host FROM mysql.user; –查看数据库中所有用户

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值