(注:本示例中安装的9.5.3 版本集群)
权限管理:
GBase8a 数据库权限包括什么?
GBase 8a 数据库权限级别分为:数据库对象操作类权限、数据操作类权限、存储过程和自定义函数执行权限、数据查看类权限、数据库(包含用户管理)管理共5类权限。
GBase8a 为什么进行权限管理?
权限管理重要性:管理员规划好不同的数据库用户的职责,并给其赋予相应的操作权限,以保证数据库的安全操作。系统管理员通过GRANT和REVOKE语句为用户授予和回收权限。GBase8a 怎么进行授予权限?
GBase8a 数据库授予权限语法:
授权:
GRANT
priv_type [(column_list)]
[, priv_type [(column_list)]]...
ON [object_type] priv_level
To user IDENTIFIED BY [[PASSWORD][password]]
[WITH with_options...]
其中,
object_type:
TABLE |FUNCTION |PROCEDURE
priv_level:
*|*.*|database_name.*Idatabase_name.table_name
| table_name | database_name.routine_name
授予用户权限相关示例的 sql 语句如下:
1. 为用户授予权限
#创建库表
drop database if exists vc1.test;
create database vc1.test;
create table vcl.test.t (i int,c varchar(10));
insert into vc1.test.t values (1,'abc'),(2,'ccc'),(4,'aa1'),(4,'123');
create user user1;
create user user2;
create user user3;
create user user4;
#并为区分权限级别,多创建几个用户
#授予用户权限
grant all on *.*.* to user1;
注:*.*.*代表的是数据库的所有对象,例如:库,表,vc,视图,存储过程等。不支持vc版本的*.*代表所有数据库对象。
#也可以授予用户需要的权限
grant all on vc1.*.* to user2;
grant select,update,delete,insert on vc1.test.t to user3;
grant create,drop on vc1.test.t to user4;
2. 查看用户权限
SQL语句:
show grants for user1;
也可以在系统表gbase.user中查看用户权限,相对应的sql语句是:
select * from gbase.user where user='user1'\G
以上就是GBase8a数据进行授予权限的相关介绍,GBase 8a数据库分级别进行授予权限,这样进一步保证了客户的数据安全性,有利于进行数据库维护。按照客户需求,GBase 8a授予权限与回收权限进行了相对应优化和完善。接下来,欢迎读者关注本人下一篇博客:GBase 8a MPP Cluster 产品权限管理:回收权限,也感谢各个读者进行批评指正。




