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