我正在与其他一些合作者进行一些数据项目。大多数都是 SQL 的新手,所以询问我是否可以将“原始”数据表设为只读,这样它们就不会被意外更改,我将如何去做?目前所有用户都有GRANT SELECT ON mydb.* TO 'user'@'%'
权限,但我需要更开放一点。
有一个关于将单个表设置为只读的问题,但似乎它会拒绝用户创建其他表的能力;或者如果他们这样做了,他们就无法对他们做任何事情。似乎没有(或者我找不到)像 NTFS 中那样覆盖允许/授予的“拒绝”设置;从我读到的 REVOKE 只是与先前的 GRANT 相反,你不能“嵌套”它们。
我正在考虑创建一个单独的“原始”数据库,该数据库将是 SELECT-only,以便用户可以将其复制到“工作区”数据库中,但这似乎有点 hacky,并且会占用我预算云服务器上的一些半显着空间. 什么是正确的解决方案?