当前位置:   article > 正文

mysql报错 1142 - SELECT command denied to user ‘dev‘@‘localhost‘ for table ‘user‘ (已解决)_select command denied to user ''@'localhost' for t

select command denied to user ''@'localhost' for table 'user

> 【易编橙·终身成长社群,相遇已是上上签!】- 点击跳转~ <
作者:哈哥撩编程 (视频号同名)
图书作者:程序员职场效能宝典
博客专家:全国博客之星第四名
超级个体:COC上海社区主理人
特约讲师:谷歌亚马逊分享嘉宾
科技博主:极星会首批签约作者

今天在写 MySQL 相关的文章演示新增用户的时候出现了如下报错信息 【1142 - SELECT command denied to user ‘dev’@‘localhost’ for table ‘user’】,从提示来看就是 “user” 表的 “dev” 用户不能执行 “SELECT” 命令。(其实就是没有权限,用管理员账号给他授权就行了)


⭐️ 错误分析

错误信息 1142 - SELECT command denied to user 'dev'@'localhost' for table 'user'

OK,首先登录我们的 root 用户,来查看一下 dev 用户的信息。

执行命令 SELECT * FROM mysql.USER; ,见下图:

图中用红色框起来的全部为 “N” 的字段,代表的意思就是当前这个用户没有这些权限。(需要注意的是,这个权限代表的是服务器的权限。)


⭐️ 解决办法

最直接了当的方法就是,将上面为 “N” 的字段,改为 “Y” 即可。当时因为当前的用户是 “dev” ,我们并不想要赋予其太大的权限,所以只需要赋予其 Select_priv 字段的权限为 Y 即可。

这样的话, dev 用户就只拥有了服务器的查看权限,而不会有其他的 增、删、改 的权限。同时再赋予 dev 用户可以管理的数据库的权限即可。

如此之后, dev 用户的权限其实并未生效,需要再刷新MySQL的系统权限相关表:执行命令 flush privileges;

还需要重启 MySQL服务器才可以生效,在终端执行命令 net restart mysql ,如此就解决了 dev 用户没有权限的问题了。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号