题记:本来不想写这篇文章的,因为觉得太简单,所有觉得写了也不会有人去看。直到今天朋友喊我帮他配一下用户权限,方便登录Navicat for mysql。 然后我搞了一个多小时,才搞定,浪费了大量不必要的时间。查询的大量的错误答案。最后才翻墙找到了解决问题的办法。故记录下来,帮助大家排坑。
一般来说,我们不用root 账号去做操作,所以我在root账号下面创建一个新的用户
1.登录root账号 (mysql -uroot -p)
2.创建新的用户(CREATE USER 'xuduoduo'@'localhost' IDENTIFIED BY '123456';) 注:我这里创建的用户名为xuduoduo ,密码为123456
3.给该用户赋权限 (咱们这里重点强调网上的很多答案都是错哒!!!我被坑了足足一个多小时 )
正确写法(GRANT ALL PRIVILEGES ON * . * TO 'xuduoduo'@'localhost';)这里给了全权限,因为用起来方便。
![](https://img.haomeiwen.com/i6156537/cf1ff5f135693d7c.png)
4.此时我们可以连接 navica for mysql 啦 (结果报了一个1251错误)
此时此刻真的是心凉凉~~~~ 感慨了3秒后,又查阅了大量的资料,终于找到了问题产生的原因:mysql 8以后改变了加密规则!!!!!
那为了让navica 能连上mysql ,只能还原加密规则喽~~
5.改变加密规则( ALTER USER '用户名'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;)
6.重写修改密码(ALTER USER '用户名'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';)
7.重写登录navicat for mysql 即可
最后啰嗦几句,oracle在这方面做得就很简单
1.创建用户 (create user 用户名 identified by 密码;)
2.赋权限(grant 权限1,权限2.... to 用户名;)
连接navicat 的时候唯一需要注意的就是服务名一行填写的是xe
如果有不详尽的地方,给我留言,我会详细解释。
网友评论