暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase8aMPP权限管理介绍

liweiwei 2024-04-03
235

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

 

 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论