赞
踩
今天在写 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
用户没有权限的问题了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。