首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向MySQL中的各个字段授予权限

向MySQL中的各个字段授予权限
EN

Stack Overflow用户
提问于 2013-05-22 00:15:15
回答 1查看 27.1K关注 0票数 20

我有一个MySQL数据库,里面有几个表。当然,一个是users表,用于存储用户名和密码(该表还包含用户的其余信息)。对于模式中的所有表,我希望能够授予用户(或组)对单个字段的权限。也许下面的例子会有所帮助:

有一个名为ACCOUNTS的表。在这个表中,用户填写(并保持最新)关于他们公司的所有数据(名称、地址、POC等)。但我也想让这些用户只读的字段附加到这个表中,例如LastPaymentDate (不能让他们更改!)。此外,在这些用户中,权限不同。例如,管理员/超级用户可以更改公司的名称和地址,但标准用户不能。

我认为这可能需要通过为表创建几个视图来实现,每个级别的权限(组)对应一个视图。我对MySQL比较陌生,所以我不知道这是不是最好的方式。我还可以看到一个查询表,说明允许查看/编辑哪些字段。

我最初的想法是在评论(或字段名称)中包含一个从0到5的值,然后用户将拥有一个权限级别(0-看不到;1-只读;2-读写;3-(未使用);4-(未使用);5-编辑/删除字段本身。

有什么建议吗?有什么看法?查找表来确定要显示哪些字段?同样,它不适用于整个表,也不适用于表中的每一列。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-22 00:24:02

您可以使用以下代码将单个列的权限授予用户:

代码语言:javascript
复制
GRANT SELECT (col1), INSERT (col1,col2) ON mydb.mytbl TO 'someuser'@'somehost';

下面是一个例子:

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

此外,在MySQL中也不支持用户组或SQL角色(即特权组)。

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

https://stackoverflow.com/questions/16674715

复制
相关文章

相似问题

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