我希望我的用户在所有数据库上具有扩展特权,但只有一个数据库的用户应该只有select语句权限的情况下。phpmyadmin限制特定数据库的权限
我试图限制只选择使用特定于数据库的选项,但它没有效果,用户仍可以更新数据库。我怀疑扩展权限覆盖我的数据库特定的选项。
我不想管理所有数据库的数据库特定权限,因为我有4个用户和100多个数据库。
我希望我的用户在所有数据库上具有扩展特权,但只有一个数据库的用户应该只有select语句权限的情况下。phpmyadmin限制特定数据库的权限
我试图限制只选择使用特定于数据库的选项,但它没有效果,用户仍可以更新数据库。我怀疑扩展权限覆盖我的数据库特定的选项。
我不想管理所有数据库的数据库特定权限,因为我有4个用户和100多个数据库。
你不能排除某些数据库,AFAIK,但你可以 GRANT通配符。因此,如果您以不同的方式命名单个数据库异常,请说明其余部分是否包含单个数据库异常的前缀,您可以使用通配符完成类似的操作。例如,如果所有数据库的前缀都是'shared_'或'common_'或某些东西,那么您可以授予“common_%”的所有权限,但是可以独立控制您的一个数据库的权限而不使用前缀。
这仍然涉及到,因为您可能需要重命名大量数据库,但是您只有两个授权来管理,而不是每个数据库一个。
我不认为有一种方法可以授予“除一个之外的所有人”形式的MySQL用户特权。 但是你可以使用MySQL查询产生这样的GRANT查询列表:
SELECT CONCAT('GRANT ALL ON ',SCHEMA_NAME,' TO user_name') FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME!='exclude_database'
,然后执行这些对每一位用户。