Mysql8.0授权问题

The user specified as a definer ('root'@'%') does not exist 此种报错主要是针对访问视图文件引起的(没有权限)

 

1.先看下mysql是否设置了环境变量,如果没设置,就需要切换到mysql的bin目录下执行命令(我的已经设置过了)

用管理员身份打开widowns的命令提示符,就是win+R,cmd 那个

在此目录 C:\Program Files\MySQL\MySQL Server 8.0\bin  运行下面命令

 mysql -hlocalhost -uroot -p123456

这里的123456是你自己的mysql的 root的密码

2.给root用户添加权限

因为mysql8.0无法给用户授权 或 提示You are not allowed to create a user with GRANT、for the right syntax to use near 'identified by xxx'的问题

所以直接grant all privileges on *.* to root@"%" identified by ".";会报错

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by "."' at line 1

如下图

正确做法先创建用户

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'ukong';
Query OK, 0 rows affected (0.04 sec)

然后授权

mysql> grant all privileges on . to 'root'@'%';
Query OK, 0 rows affected (0.03 sec)
另外,如果远程连接的时候报错误,可以尝试修改密码加密插件:

mysql> alter user 'root'@'%' identified with mysql_native_password by 'ukong';

 

3.刷新权限

flush privileges;

 

这就ok了,我写的东西都是小白也能看懂的。我也是成长ing的小白。

写完本文后,在百度发现一篇文章

https://jingyan.baidu.com/article/1876c852c50e59c90b1376ed.html

这文章里的第13步说的很好

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值