mysql已加入指定表的查询权限,但是还是要报无权限

喜欢自在 发布于 2016/02/29 16:11
阅读 701
收藏 0

我指定了账号api的权限为查询oa库中的meun表,

用show grants for api查询权限,也显示了GRANT SELECT ON `oa`.`meun` TO 'api'@'%'。

但是执行查询命令时,却要报权限错误,是怎么回事呢?

select * from oa.menu

select * from menu

两种都试了,都要报权限错误

加载中
0
0
喜欢自在
喜欢自在
高手在哪里啊
0
泡不烂的凉粉
泡不烂的凉粉
刷新下,权限还没生效呢。
喜欢自在
喜欢自在
已执行了刷新命令flush privileges;
0
阿信sxq
阿信sxq
没有指定密码?
阿信sxq
阿信sxq
回复 @喜欢自在 : 指定权限的时候也要说明密码的
喜欢自在
喜欢自在
有密码,先创建的账号
0
逝水fox
逝水fox

在说没权限的这个连接里面执行如下(注意是报无权限的这个连接,如果是程序就在程序里面执行一下):


-- 当前用户, 主机名是你连接的客户端真实主机名
select user();
-- 当前用户, 这里返回的是在user表中匹配到的主机名
select current_user();
-- 查看当前用户的权限
show grants;
然后用root用户连到mysql上, 查询:


select user, host from mysql.user where user = 'api';
-- 看是不是有多条



因为你用的是%授权,如果同一个用户名的主机有更精确的匹配用户,就不会走到%上;(比如你系统里面本来有个all@127.0.0.1了,你本机连接的时候,就不会使用all@%的权限)

返回顶部
顶部