有谁知道 MySQL 中是否有一种方法可以允许用户创建/更改视图,而无需让用户能够在数据库中删除表?
我需要让用户能够创建/更改视图。
不知道您是否可以拒绝对特定表的删除权限,这是否仍会影响用户创建/更新视图的能力。
我问这个的原因是因为我不是系统的 DBA,但需要能够创建视图。
同样,如果有人可以告诉我这是可能的还是不可能的,或者甚至可以说明如何做到这一点。
有谁知道 MySQL 中是否有一种方法可以允许用户创建/更改视图,而无需让用户能够在数据库中删除表?
我需要让用户能够创建/更改视图。
不知道您是否可以拒绝对特定表的删除权限,这是否仍会影响用户创建/更新视图的能力。
我问这个的原因是因为我不是系统的 DBA,但需要能够创建视图。
同样,如果有人可以告诉我这是可能的还是不可能的,或者甚至可以说明如何做到这一点。
直接取自手册:
从关于DROP 权限的页面:
DROP 权限使您能够删除(删除)现有的数据库、表和视图。需要 DROP 权限才能在分区表上使用语句 ALTER TABLE ... DROP PARTITION。`TRUNCATE TABLE` 也需要 DROP 权限。如果您将 mysql 数据库的 DROP 权限授予用户,则该用户可以删除存储 MySQL 访问权限的数据库。
从关于ALTER TABLE的页面:
要使用 ALTER TABLE,您需要该表的 ALTER、CREATE 和 INSERT 权限。重命名表需要对旧表进行 ALTER 和 DROP,对新表进行 ALTER、CREATE 和 INSERT。
所以你的问题的答案是:不。您不能拒绝特定表的 DROP 权限,并且需要 DROP 才能使用ALTER TABLE
.