codecamp

OceanBase GRANT

描述

该语句用于系统管理员授予 User 某些权限。

说明 
  • 当前用户必须拥有被授予的权限(例如,user1 把表 t1 的 SELECT 权限授予 user2,则 user1 必须拥有表 t1 的 SELECT 的权限),并且拥有 GRANT OPTION 权限,才能授予成功。
  • 用户授权后,该用户只有重新连接 OceanBase,权限才能生效。

格式

GRANT priv_type 
    ON priv_level 
    TO user_specification [, user_specification]... 
     [WITH with_option ...]

privilege_type:
      ALTER
    | CREATE
    | CREATE USER
    | CREATE VIEW
    | DELETE
    | DROP
    | GRANT OPTION
    | INDEX
    | INSERT
    | PROCESS
    | SELECT
    | SHOW DATABASES
    | SHOW VIEW
    | SUPER
    | UPDATE
    | USAGE
    | CREATE SYNONYM
    
priv_level: 
     *
    | *.*
    | db_name.* 
    | db_name.tbl_name
    | tbl_name
    | db_name.rountine_name

user_specification: 
user [IDENTIFIED BY [PASSWORD] ‘password’] 

with_option:
 GRANT OPTION

参数解释

参数

描述

priv_type

指定授予的权限类型。具体的权限类型及其说明请参见下方权限类型说明表。

同时把多个权限赋予用户时,权限类型用“,”隔开。

priv_level

指定授予权限的层级。权限可以分为以下几个层级:

  • 全局层级:适用于所有的数据库。使用 GRANT ALL ON *.*授予全局权限。

  • 数据库层级:适用于一个给定数据库中的所有目标。使用 GRANT ALL ON db_name.* 授予数据库权限。

  • 表层级:表权限适用于一个给定表中的所有列。使用 GRANT ALL ON db_name.tbl_name 授予表权限。

用“*”代替table_name,表示赋予全局权限,即对数据库中的所有表赋权。

user_specification

给特定用户授予权限。如果用户不存在,可以直接创建用户。

sql_mode=’no_auto_create_user’,同时没有 identified by  指定密码时,不可以直接创建用户。

同时给多个用户授权时,用户名用“,”隔开。

user IDENTIFIED BY ‘password’

此处密码为明文。

user IDENTIFIED BY PASSWORD ‘password’

此处密码为密文。

with_option

指定权限是否允许转授

可以授予的权限类型如下表所示。

权限类型说明表

权限

说明

ALL PRIVILEGES

除 GRANT OPTION 以外所有权限。

ALTER

ALTER TABLE 的权限。

CREATE

CREATE TABLE 的权限。

CREATE USER

CREATE USER,DROP USER,RENAME USER 和 REVOKE ALL PRIVILEGES 的权限。

CREATE TABLEGROUP

全局 CREATE TABLEGROUP 的权限。

DELETE

DELETE 的权限。

DROP

DROP 的权限。

GRANT OPTION

GRANT OPTION 的权限。

INSERT

INSERT 的权限。

SELECT

SELECT 的权限。

UPDATE

UPDATE 的权限。

SUPER

SET GLOBAL 修改全局系统参数的权限。

SHOW DATABASES

全局 SHOW DATABASES 的权限。

INDEX

CREATE INDEX, DROP INDEX 的权限

CREATE VIEW

创建、删除视图的权限。

SHOW VIEW

SHOW CREATE VIEW 权限。

CREATE SYNONYM

创建同义词的权限。

说明 
目前没有 change effective tenant 的权限控制,故 sys 租户下的用户都可以进行授权。

示例

  • 执行以下命令给用户 obsqluser01 赋予所有权限。
OceanBase(admin@TEST)>GRANT ALL PRIVILEGES ON *.* TO obsqluser01 with grant option;
Query OK, 0 rows affected (0.03 sec)


OceanBase FLASHBACK TENANT
OceanBase INSERT
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }