如何正确给mysql用户赋权限

 题记:本来不想写这篇文章的,因为觉得太简单,所有觉得写了也不会有人去看。直到今天朋友喊我帮他配一下用户权限,方便登录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';)这里给了全权限,因为用起来方便。

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

如果有不详尽的地方,给我留言,我会详细解释。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容