Tan*_*imi 19 mysql permissions
我有MySQL数据库,里面有几个表.当然,其中一个是用于存储用户名和密码的用户表(其中还包含其他信息).对于架构中的所有表,我希望能够授予用户(或组)对各个字段的权限.也许一个例子会有所帮助:
那里;'一张名为ACCOUNTS的桌子.在此表中,用户填写(并保持最新)有关其公司的所有数据(名称,地址,POC等).但是我也想让这个表附加的字段只为那些用户读取,例如LastPaymentDate(不能让它们改变它!).此外,在这些用户中,权限不同.例如,admin/superuser可以更改公司的名称和地址,但标准用户不应该.
我想这可能需要通过为表创建几个视图来完成,每个视图对应一个权限级别(组).我对MySQL比较新,所以我不知道这是不是最好的方法.我还可以看到一个查找表,说明允许查看/编辑哪些字段.
我最初的想法是在评论(或字段的名称)中包含一个0-5的值,然后用户将拥有一个权限级别(0-看不到; 1-Read only; 2-Read-写入; 3-(未使用); 4-(未使用); 5 - 编辑/删除字段本身.
有什么建议?看法?查找表以确定要显示的字段?同样,对于表中的每一列,它不适用于整个表.
use*_*035 36
您可以使用以下代码向用户授予对各个列的权限:
GRANT SELECT (col1), INSERT (col1,col2) ON mydb.mytbl TO 'someuser'@'somehost';
Run Code Online (Sandbox Code Playgroud)
从这里取的例子:
http://dev.mysql.com/doc/refman/5.1/en/grant.html
此外,MySQL中不支持用户组或SQL ROLES(哪些是权限组).