GRANT

更新时间: 2023-07-20 17:08:58

将指定资源范围权限赋予某个特定用户的SQL语法。

语法

grant_permission_statement ::=  GRANT privilege_definition ON resource_definition TO user_name 
privilege_definition       ::=  ALL | READ | WRITE | ADMIN | TRASH 
resource_definition        ::=  GLOBAL | DATABASE identifer | SCHEMA identifer | TABLE identifer
说明
  1. 权限范围:GLOBAL > DATABASE(SCHEMA) > TABLE。

  2. DATABASE关键字从引擎 2.5.3.3版本开始支持。

参数

参数

说明

user_name

指定用户名称。

privilege_definition

  • ALL

    指定用户具有所有权限,包括下述四种权限。

  • READ

    指定用户具有“读”权限。

  • WRITE

    指定用户具有“写”权限。

  • ADMIN

    指定用户具有“管理员”权限。

  • TRASH

    指定用户具有“删除”权限。

说明

关于这些权限的具体含义,请参照权限分类

identifer

指定被授予权限的资源名。当资源类型是DATABASESCHEMA,资源名必须是Database对象。当资源类型是TABLE时,资源名必须是Table对象。

示例

  • 将名为db1的Database的全部权限赋予用户user1

    GRANT ALL ON DATABASE db1 TO user1;
    -- 或者
    GRANT ALL ON SCHEMA db1 TO user1;

  • 将名为db2的Database下表名为table2的表的管理员权限赋予用户user2

    GRANT ADMIN ON TABLE db2.table2 TO user2;

  • 将表名为table3的表的写权限赋予用户user3

    GRANT WRITE ON TABLE table3 TO user3; 

  • 将全局读权限赋予用户`user4`。

    GRANT READ ON GLOBAL TO user4;

阿里云首页 云原生多模数据库 Lindorm 相关技术圈