GBase8aMPP权限管理介绍

1.语法

授予权限:

GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ...

    ON [object_type] {tbl_name | * | *.* | db_name.*}

    TO user [IDENTIFIED BY [PASSWORD] 'password'] [, user [IDENTIFIED BY [PASSWORD] 'password']] ...

    [REQUIRE

        NONE |

        [{SSL| X509}]

        [CIPHER 'cipher' [AND]]

        [ISSUER 'issuer' [AND]]

        [SUBJECT 'subject']]

    [WITH with_option [with_option] ...]

撤销权限:

REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ...

    ON [object_type] {tbl_name | * | *.* | db_name.*}

FROM user [, user] ...

1)priv_type

priv_type

权限说明

ALL [PRIVILEGES]

设置除GRANT OPTION之外的所有简单权限

ALTER  

更改

ALTER ROUTINE  

更改或取消已存储的子程序

CREATE  

创建

CREATE ROUTINE  

创建已存储的子程序

CREATE TEMPORARY TABLES 

允许使用CREATE TEMPORARY TABLE

CREATE USER 

允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES

CREATE VIEW

创建视图

DELETE 

删除数据

DROP 

删除

EXECUTE

允许用户运行已存储的子程序

FILE

允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE

INDEX

允许使用CREATE INDEX和DROP INDEX

INSERT

插入数据

LOCK TABLES

允许对您拥有SELECT权限的表使用LOCK TABLES

PROCESS 

允许使用SHOW FULL PROCESSLIST

REFERENCES

未被实施

RELOAD

允许使用FLUSH

REPLICATION CLIENT

允许用户询问从属服务器或主服务器的地址

REPLICATION SLAVE 

用于复制型从属服务器(从主服务器中读取二进制日志事件

SELECT

查询

SHOW DATABASES

SHOW DATABASES显示所有数据库

SHOW VIEW

显示视图

SHUTDOWN

允许使用mysqladmin shutdown

SUPER

允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections

UPDATE

更新数据

USAGE

“无权限”的同义词

GRANT OPTION

允许授予权限

2)object_type

object_type

含义

Table

Funcation

函数

Procedure

存储过程

3)with_option

with_option

含义

MAX_QUERIES_PER_HOUR count

任一小时内用户可以执行的查询数目

MAX_UPDATES_PER_HOUR count

任一小时内用户可以执行的更新数目

MAX_CONNECTIONS_PER_HOUR count

任一小时内用户可以登录的数目

MAX_USER_CONNECTIONS count

用户可以同时连接的最大数目

2.授权层级

1)全局层级

全局权限适用于一个给定服务器中的所有vc(数据库)。这些权限存储在gbase.user表中。GRANT ALL ON *.*.*(*.*)和REVOKE ALL ON *.*.*(*.*)只授予和撤销全局权限。

2)vc层级

vc权限使用于 一个给定vc中的所有数据库。这些权限存储在gbase.vcs_priv表中。

GRANT ALL ON vc.*.*和REVOKE ALL ON vc.*.*只授予和撤销全局权限。

3)数据库层级

数据库权限适用于一个给定数据库中的所有目标。这些权限存储在gbase.db表中。GRANT ALL ON vc.db.*和REVOKE ALL ON vc.db.*只授予和撤销数据库权限。

4)表层级

表权限适用于一个给定表中的所有列。这些权限存储在gbase.talbes_priv表中。GRANT ALL ON vc.db.tbl和REVOKE ALL ON vc.db.tbl只授予和撤销表权限。

5)列层级

列权限适用于一个给定表中的单一列。这些权限存储在gbase.columns_priv表中。当使用REVOKE时,您必须指定与被授权列相同的列。

6)子程序层级

CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT权限适用于已存储的子程序。这些权限可以被授予为全局层级和数据库层级。而且,除了CREATE ROUTINE外,这些权限可以被授予为子程序层级,并存储在gbase.procs_priv表中。GRANT ALL ON Funcation/Procedure vc.db.func/vc.db.proc和REVOKE ALL ON Funcation/Procedure vc.db.func/vc.db.proc只授予和撤销子程序权限。

3.权限生效时机

1)表和列权限在客户端的下一次请求时生效。

2)数据库权限改变在下一个USE db_name命令生效。

3)全局权限的改变(密码改变/默认vc改变)在下一次客户端连接时生效

  • 33
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值