首页 > 解决方案 > 如何在MYSQL中撤销权限到分区

问题描述

是否可以拒绝从特定用户的分区中进行选择?

问题是我需要实现一个功能:1)root 用户应该有权访问“产品”表及其分区中的所有数据 2)noroot 用户应该有权访问“产品”表及其特定分区

我有这样的架构:

CREATE TABLE `products` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(50) DEFAULT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

ALTER TABLE products  PARTITION BY RANGE (id)
  (
    PARTITION p1 VALUES LESS THAN (5),
    PARTITION p2 VALUES LESS THAN MAXVALUE 
  );

因此,在一个完美的世界中,我想将所有特权授予 root 用户,以便他们可以从“产品”表(来自 p1、p2 分区)中选择所有数据,例如:

SELECT * FROM products;

但是对于 noroot 用户,我想将所有特权授予特定分区(p1),以便他们可以从“产品”表中选择数据。从“产品”表中选择数据意味着 MYSQL 仅适用于已授予的分区(对于我们的情况,它是 p1)

各位,有可能吗?可能您有另一种解决方案,但请记住,我需要“通用界面”来选择数据。

标签: mysqlinnodbpartitioning

解决方案


推荐阅读