我正在和其他几个合作者一起做一些数据项目。大多数人都是SQL的新手,所以我询问是否可以将“原始”数据表设置为只读,这样它们就不会被意外更改,我该怎么做呢?目前所有用户都有GRANT SELECT ON mydb.* TO 'user'@'%'权限,但我需要更开放一点。
有一个关于制作single table read-only的问题,但它似乎会拒绝用户制作其他表的能力;或者即使他们这样做了,他们也无法对这些表做任何事情。在NTFS中似乎没有(或者我找不到)覆盖allow/ GRANT的'deny‘设置;根据我所读到的REVOKE只是与先前的GRANT相反,你不能“嵌套”它们。
我在考虑创建一个单独的“原始”数据库,只供选择,这样用户就可以将其复制到“工作空间”数据库中,但这似乎有点老生常谈,会占用我的预算云服务器上的一些微不足道的空间。正确的解决方案是什么?
发布于 2013-07-18 11:18:26
GRANT SELECT ON example.* to 'someuser'@'somehost';授予只读权限。
GRANT CREATE ON example TO 'someuser'@'somehost';授予create table权限。
发布于 2014-01-29 20:47:08
您可以通过压缩表将单个MyISAM表设置为只读。在命令行上使用myisampack打包该表。
有关更多信息,请参阅MySQL手册:http://dev.mysql.com/doc/refman/5.0/en/myisampack.html
https://stackoverflow.com/questions/17713886
复制相似问题