首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示CURRENT_USER的授权工作很奇怪

显示CURRENT_USER的授权工作很奇怪
EN

Stack Overflow用户
提问于 2013-03-17 20:05:53
回答 1查看 1.2K关注 0票数 3

我试过了

代码语言:javascript
复制
SHOW GRANTS FOR CURRENT_USER

它向我展示了:

代码语言:javascript
复制
GRANT USAGE ON *.* TO 'test_user'@'localhost' IDENTIFIED BY PASSWORD 'pass'

但此用户具有select for test_script数据库的权限。

下面是root用户的显示授权:

代码语言:javascript
复制
SHOW GRANTS FOR test_user

GRANT USAGE ON *.* TO 'test_user'@'%'
GRANT SELECT ON `test_script`.* TO 'test_user'@'%'

为什么SHOW GRANTS FOR CURRENT_USER不显示test_script表的grants?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-17 20:12:59

这可能是因为CURRENT_USER (登录的用户)是'test_user'@'localhost',他与'test_user'@'%'拥有不同的权限。

代码语言:javascript
复制
SHOW GRANTS FOR 'test_user'@'%'
SHOW GRANTS FOR 'test_user'@'localhost'

如果您使用mysql -h 127.0.0.1 -u test_user -p通过TCP登录,您现在应该使用'test_user'@'%'授权。

当您仅为用户名执行SHOW GRANTS语句时,如果不指定主机,MySQL将尝试列出用户@'%'的授权。如果该规范根本不存在,您将得到

代码语言:javascript
复制
ERROR 1141 (42000): There is no such grant defined for user 'test_user' on host '%'

在您的例子中,该规范是存在的,但授权不同于test_user@localhost

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15460526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档