OceanBase GRANT

2021-06-11 11:37 更新

描述

該語句用于系統(tǒng)管理員授予 User 某些權(quán)限。

說明 
  • 當(dāng)前用戶必須擁有被授予的權(quán)限(例如,user1 把表 t1 的 SELECT 權(quán)限授予 user2,則 user1 必須擁有表 t1 的 SELECT 的權(quán)限),并且擁有 GRANT OPTION 權(quán)限,才能授予成功。
  • 用戶授權(quán)后,該用戶只有重新連接 OceanBase,權(quán)限才能生效。

格式

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

參數(shù)解釋

參數(shù)

描述

priv_type

指定授予的權(quán)限類型。具體的權(quán)限類型及其說明請參見下方權(quán)限類型說明表。

同時(shí)把多個(gè)權(quán)限賦予用戶時(shí),權(quán)限類型用“,”隔開。

priv_level

指定授予權(quán)限的層級。權(quán)限可以分為以下幾個(gè)層級:

  • 全局層級:適用于所有的數(shù)據(jù)庫。使用 GRANT ALL ON *.*授予全局權(quán)限。

  • 數(shù)據(jù)庫層級:適用于一個(gè)給定數(shù)據(jù)庫中的所有目標(biāo)。使用 GRANT ALL ON db_name.* 授予數(shù)據(jù)庫權(quán)限。

  • 表層級:表權(quán)限適用于一個(gè)給定表中的所有列。使用 GRANT ALL ON db_name.tbl_name 授予表權(quán)限。

用“*”代替table_name,表示賦予全局權(quán)限,即對數(shù)據(jù)庫中的所有表賦權(quán)。

user_specification

給特定用戶授予權(quán)限。如果用戶不存在,可以直接創(chuàng)建用戶。

sql_mode=’no_auto_create_user’,同時(shí)沒有 identified by  指定密碼時(shí),不可以直接創(chuàng)建用戶。

同時(shí)給多個(gè)用戶授權(quán)時(shí),用戶名用“,”隔開。

user IDENTIFIED BY ‘password’

此處密碼為明文。

user IDENTIFIED BY PASSWORD ‘password’

此處密碼為密文。

with_option

指定權(quán)限是否允許轉(zhuǎn)授

可以授予的權(quán)限類型如下表所示。

權(quán)限類型說明表

權(quán)限

說明

ALL PRIVILEGES

除 GRANT OPTION 以外所有權(quán)限。

ALTER

ALTER TABLE 的權(quán)限。

CREATE

CREATE TABLE 的權(quán)限。

CREATE USER

CREATE USER,DROP USER,RENAME USER 和 REVOKE ALL PRIVILEGES 的權(quán)限。

CREATE TABLEGROUP

全局 CREATE TABLEGROUP 的權(quán)限。

DELETE

DELETE 的權(quán)限。

DROP

DROP 的權(quán)限。

GRANT OPTION

GRANT OPTION 的權(quán)限。

INSERT

INSERT 的權(quán)限。

SELECT

SELECT 的權(quán)限。

UPDATE

UPDATE 的權(quán)限。

SUPER

SET GLOBAL 修改全局系統(tǒng)參數(shù)的權(quán)限。

SHOW DATABASES

全局 SHOW DATABASES 的權(quán)限。

INDEX

CREATE INDEX, DROP INDEX 的權(quán)限

CREATE VIEW

創(chuàng)建、刪除視圖的權(quán)限。

SHOW VIEW

SHOW CREATE VIEW 權(quán)限。

CREATE SYNONYM

創(chuàng)建同義詞的權(quán)限。

說明 
目前沒有 change effective tenant 的權(quán)限控制,故 sys 租戶下的用戶都可以進(jìn)行授權(quán)。

示例

  • 執(zhí)行以下命令給用戶 obsqluser01 賦予所有權(quán)限。
OceanBase(admin@TEST)>GRANT ALL PRIVILEGES ON *.* TO obsqluser01 with grant option;
Query OK, 0 rows affected (0.03 sec)


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號