首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将某些表设置为只读,但允许用户创建新表?

问如何将某些表设置为只读,但允许用户创建新表?
EN

Stack Overflow用户
提问于 2013-07-18 11:13:13
回答 2查看 1.8K关注 0票数 1

我正在和其他几个合作者一起做一些数据项目。大多数人都是SQL的新手,所以我询问是否可以将“原始”数据表设置为只读,这样它们就不会被意外更改,我该怎么做呢?目前所有用户都有GRANT SELECT ON mydb.* TO 'user'@'%'权限,但我需要更开放一点。

有一个关于制作single table read-only的问题,但它似乎会拒绝用户制作其他表的能力;或者即使他们这样做了,他们也无法对这些表做任何事情。在NTFS中似乎没有(或者我找不到)覆盖allow/ GRANT的'deny‘设置;根据我所读到的REVOKE只是与先前的GRANT相反,你不能“嵌套”它们。

我在考虑创建一个单独的“原始”数据库,只供选择,这样用户就可以将其复制到“工作空间”数据库中,但这似乎有点老生常谈,会占用我的预算云服务器上的一些微不足道的空间。正确的解决方案是什么?

EN

回答 2

Stack Overflow用户

发布于 2013-07-18 11:18:26

代码语言:javascript
复制
GRANT SELECT ON example.* to 'someuser'@'somehost';

授予只读权限。

代码语言:javascript
复制
GRANT CREATE ON example TO 'someuser'@'somehost';

授予create table权限。

票数 0
EN

Stack Overflow用户

发布于 2014-01-29 20:47:08

您可以通过压缩表将单个MyISAM表设置为只读。在命令行上使用myisampack打包该表。

有关更多信息,请参阅MySQL手册:http://dev.mysql.com/doc/refman/5.0/en/myisampack.html

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

https://stackoverflow.com/questions/17713886

复制
相关文章

相似问题

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