首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许MySQL用户向自己授予对新数据库的权限

允许MySQL用户向自己授予对新数据库的权限
EN

Stack Overflow用户
提问于 2011-08-11 22:20:10
回答 2查看 1.1K关注 0票数 5

我有一个MySQL用户,我们称他为Tom。Tom具有全局CREATE和SHOW DATABASES权限,并具有'GRANT‘选项。每个数据库都会为用户分配SELECT、INSERT、UPDATE和DELETE权限。然而,在Tom创建了一个新的数据库之后,他不能设置他的SELECT等特权,尽管他有一个全局的GRANT选项。错误是(可预测的):

代码语言:javascript
复制
CREATE DATABASE `my_new_db`; -- this is fine
GRANT SELECT , INSERT , UPDATE , DELETE ON `my_new_db` . * TO 'Tom'@'%';
*Access denied for user 'Tom'@'%' to database 'my_new_db'*

这是通过PHP完成的,但我怀疑这有多大不同。

谁来告诉我我哪里做错了!Ta =]

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-11 23:02:50

你不能授予你没有的特权。Tom需要具有全局SELECT、INSERT、UPDATE和DELETE权限,才能将这些权限授予其他用户。

票数 2
EN

Stack Overflow用户

发布于 2011-08-11 23:03:49

你做得很对。这是设计好的。但是,您可以执行的操作在《参考手册》中写道:MySQL使您可以授予对不存在的数据库或表的权限。对于表,要授予的权限必须包括CREATE权限。此行为是经过设计的,其目的是使数据库管理员能够为以后要创建的数据库或表准备用户帐户和权限。

http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges

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

https://stackoverflow.com/questions/7027542

复制
相关文章

相似问题

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