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

GBase 8a GDCA认证之DCL语句

原创 丽芳 2021-07-10
884

       DCL语句是对数据访问进行控制的指令,由GRANT和REVOKE两个指令组成。

一、用户USER

  • 创建用户

create user admin identified by ‘admin’;

  • 修改用户名

rename user admin to new_user;

  • 修改密码

set password for new_user=password(‘newadmin’);

  • 删除用户

drop user new_user;

二、用户组ROLE

  • 创建用户组ROLE

create role role1,role2;

  • 删除用户组ROLE

drop role role1;

三、权限管理(GRANT、REVOKE)

  • 为用户赋权

grant select on db1.t1 to user1;

  • 收回用户权限

revoke select on db1.t1 from user1;

  • 为用户组ROLE赋权

grant all on db2.* to role1;

  • 回收用户组ROLE权限

revoke all on db2.* from role1;

  • 将用户组ROLE权限赋予用户

grant role1 to user1 [with admin option];

  • 向用户回收用户组ROLE权限

revoke role1 from user1;

四、权限级别(单VC或默认VC下)

  • 全局 *.* ——服务器有效

grant all on *.* to user;

  • 数据库级db.* ——数据库索引对象有效

grant select,insert,update,delete on db_name.* to user;

  • 表级db.table.* ——表中所有列有效

grant all on db_name.tbl_name to user;

  • 列级 ——表中指定列有效

grant insert(column_list) on db_name.table_name to user;

  • 过程级 ——存储过程有效

grant create routine on db_name.* to user;

  • 加载或导出数据需要有FILE权限

grant FILE on *.* to role1;

  • 为用户赋予优先级权限
    注:priority_value的取值范围为0~3,数字越大优先级越高,缺省为0。

grant usage on *.* to user_name with task_priority priority_vale;

  • 查看用户或用户组权限

show grants for user/role;

  • 查看用户和组的关联信息

select * from gbase.role_edges;

五、多VC下用户权限管理

  • 为用户设置默认VC(建议每个用户都设置默认VC)

set default_vc for user=vc_name;

  • 切换当前VC语法

USE VC VC_NAME;

  • 把访问多VC的库/表/列…授权给USER

GRANT ALL ON *.*.* TO USER1;
GRANT ALL ON VC2.DB.* TO USER1;
GRANT ALL ON VC2.DB.TABLE TO USER1;

  • 把USER在多VC下的库/表/列…权限收回。

REVOKE ALL ON VC2.*.* FROM USER1;
REVOKE ALL ON VC2.DB.* FROM USER1;
REVOKE ALL ON VC2.DB.TABLE FROM USER1;

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

评论