phpmyadmin限制特定数据库的权限

时间:2013-07-09 20:06:34

标签: mysql phpmyadmin privileges

我希望我的用户在所有数据库上拥有扩展权限,但只有一个数据库,用户只能选择正确的语句。

我试图限制只选择使用特定于数据库的选项,但它没有任何效果,用户仍然可以更新数据库。我怀疑扩展权限覆盖了我特定于数据库的选项。

我不想为所有数据库管理特定于数据库的权限,因为我有四个用户和100多个数据库。

2 个答案:

答案 0 :(得分:1)

您不能排除某些数据库,AFAIK,但可以通配符上的GRANT。因此,如果您以不同的方式命名单个数据库异常,请说如果其余数据库异常包含前缀,则可以使用通配符完成类似的操作。

例如,如果所有数据库都以“shared_”或“common_”为前缀,则可以授予“common_%”的所有权限,但是可以单独控制一个数据库的权限,而不需要前缀。

这仍然涉及,因为您可能需要重命名大量数据库,但之后您只需要管理两个授权,而不是每个数据库一个。

答案 1 :(得分:0)

我认为没有办法以'除了一个'之外的形式授予MySQL用户权限。 但是,您可以使用MySQL查询生成GRANT查询列表,如下所示:

SELECT CONCAT('GRANT ALL ON ',SCHEMA_NAME,' TO user_name') FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME!='exclude_database'

然后为每个用户执行这些操作。