GBase 8a MPP权限管理介绍

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改变)在下一次客户端连接时生效

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/317841.html

(0)
上一篇 2天前
下一篇 2天前

相关推荐

发表回复

登录后才能评论