mysql - 如何拒绝对单个 MySQL 表的 SELECT 权限?

标签 mysql

我有一个包含许多表的数据库,webapp 服务帐户以及管理员帐户都可以对这些表进行读/写访问。

一个名为 foobarSettings 的特定表存储我使用的 3d 方服务的 API key 。我想让该表为 webapp 帐户设置为读/写,并为管理员设置为只写。这样 webapp 可以读取它,但不能写入。管理员可以更新它,但无法读回它。

我找到了解决这个问题的两个解决方案:

  1. 将 UPDATE/DELETE/INSERT 权限授予除 foobarSettings 之外的所有表的 Web 应用帐户,并将 SELECT 权限授予除 之外的所有表的管理员帐户> foobarSettings。然后在全局级别和数据库级别删除这些用户的权限。

  2. foobarSettings 表创建单独的架构。

这两种解决方案都有一些维护开销。

问题:是否有更简单的方法来设置此配置?

最佳答案

根据MySQL mailing list您不能拒绝对已授予数据库的表进行操作。看起来您可能必须为每个表设置表级访问权限。

来自mailing list post :

"You can't revoke SELECT privilege from the table if you grant privileges on the database. You can grant SELECT privilege on each table that you want to be visible to user instead."

不幸的是,这似乎是自动取款机的唯一方法。

关于mysql - 如何拒绝对单个 MySQL 表的 SELECT 权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22154915/

相关文章:

php - 这个sql语法有什么问题?

mysql - 在带有索引的查询中添加 where 子句会大大降低速度

jquery - Bootstrap Datepicker 在插入到 MySQL 之前将格式从 dd.mm.yyyy 转换为 yyyy-mm-dd

c# - Code First ASP.NET MVC 应用程序,未调用种子方法

mysql - 在 EasyPHP 中使用 phpmyadmin 导入 sql 文件

Mysql多实例无法通过socket连接

php - 在 Laravel 中根据查看者时区显示帖子

php - wordpress 中的 mySQL 查询错误

mysql - CakePHP响应慢

mysql - 在 R 中获取行时出错