【DM】达梦数据库中的用户管理与角色管理(1)

用户和模式的关系


在达梦数据库中通过create user创建用户时,会同时创建一个同名的模式.也可以通过create schema语句单独创建模式,并授权给某个已存在的用户.因此在达梦数据库中用户与模式是1:N的关系.

模式的创建及基本操作


创建

在这里插入图片描述

这条语句创建了一个名叫TEST713且属于用户SYSDBA的模式.

删除

在这里插入图片描述

表空间

==================================================================

表空间的创建及基本操作


创建

在这里插入图片描述

上面的操作创建了一个名为test713的表空间,数据文件位于D盘的\DM\data\data\DAMENG\test713.dbf路径下,文件大小为128M.

修改

改名

在这里插入图片描述

将表空间名由test713修改为test317.

增加数据文件

在这里插入图片描述

在同一路径下为test317增加一个名为test317.dbf的数据文件,大小为128M.

为数据文件扩容

在这里插入图片描述

将test317.dbf扩容到200M.

重命名数据文件

在这里插入图片描述

需要在脱机模式下进行,该操作不仅可以修改数据文件名,你愿意的话,还可以修改数据文件路径.

修改表空间的自动扩展属性

在这里插入图片描述

D:\test317.dbf的自动扩展属性修改为每次扩展10M,最大文件大小为1000M.

删除表空间

在这里插入图片描述

HUGE表空间的基本操作


创建HTS

在这里插入图片描述

  • 表空间名在服务器中必须唯一.

  • HTS表空间不支持创建MIRROR镜像文件.

为HTS添加路径

在这里插入图片描述

  • 一个HTS表空间最多支持255个路径.
删除HTS

在这里插入图片描述

  • 未被使用的表空间才能被删除.

角色

=================================================================

预定义角色


  • DBA:DM数据库系统中对象与数据操作的最高权限集合,拥有构建数据库的全部特权,只有DBA才可以创建数据库结构.

  • RESOURCE:可以创建数据库对象,对有权限的对象进行数据操纵,不可以创建数据库结构.

  • PUBLIC:不可以创建数据库对象,只能对有权限的数据库对象进行操纵.

角色管理


角色查看

在这里插入图片描述

创建角色

在这里插入图片描述

角色添加权限

grant select on table1 to role1;

grant create table to role1;

grant role1 to test1;

  • 第一行将表table1的查询权限赋给role1;

  • 第二行将创建表的权限赋给role1;

  • 第三行将role1角色赋给用户test1.

删除角色

在这里插入图片描述

权限

=================================================================

数据库权限


数据库权限是与数据库安全相关的非常重要的权限,其权限范围比对象权限更加广泛,因而一般被授予数据库管理员或者一些具有管理功能的角色.

数据库权限与DM预定义角色有着重要联系,一些数据库权限由于权力较大,只集中在几个DM系统预定义角色中,且不能转授.

种类

| 数据库权限 | 说明 |

| — | — |

| CREATE TABLE | 在自己的模式中创建表的权限 |

| CREATE VIEW | 在自己的模式中创建视图的权限 |

| CREATE USER | 创建用户的权限 |

| CREATE TRIGGER | 在自己的模式中创建触发器的权限 |

| ALTER USER | 修改用户的权限 |

| ALTER DATABASE | 修改数据库的权限 |

| CREATE PROCEDURE | 在自己的模式中创建存储程序的权限 |

DM提供了100余种数据库权限,上表仅列出了常用的一些.

权限的分配和回收

分配

  • 授权者须具有对应的数据库权限及其转授权;

  • 接受者必须与授权者用户类型一致;

  • 如果有WITH ADMIN OPTION选项,接受者可以把这些权限转授给其他用户/角色.

例如,系统管理员SYSDBA把建表和建视图的权限授予给用户TEST并允许其转授.

GRANT CREATE TABLE,CREATE VIEW TO TEST WITH ADMIN OPTION;

回收

  • 权限回收者必须是具有回收相应数据库权限以及转授权的用户;

  • ADMIN OPTION FOR选项的意义是取消用户或角色的转授权限,但是权限不回收.

例如,SYSDBA把用户的建表权限收回.

REVOKE CREATE TABLE FROM TEST;

SYSDBA在不收回TEST用户建视图权限的情况下不让其转授建视图权限.

REVOKE ADMIN OPTION FOR CREATE VIEW FROM TEST;

对象权限


种类

| 数据库对象类型

对象权限 | 表 | 视图 | 存储程序 | 包 | 类 | 类型 | 序列 | 目录 | 域 |

| — | — | — | — | — | — | — | — | — | — |

| SELECT | √ | √ | | | | | √ | | |

| INSERT | √ | √ | | | | | | | |

| DELETE | √ | √ | | | | | | | |

| UPDATE | √ | √ | | | | | | | |

| REFERENCES | √ | | | | | | | | |

| DUMP | √ | | | | | | | | |

| EXCUTE | | | √ | √ | √ | √ | | √ | |

| READ | | | | | | | | √ | |

| WRITE | | | | | | | | √ | |

| USAGE | | | | | | | | | √ |

权限的分配和回收

分配

  • 授权者必须是具有对应对象权限及其转授权限的用户;

  • 如未指定对象的模式名,模式为授权者所在的模式.DRECTORY为非模式对象,没有模式;

  • 如设定了对象类型,则该类型必须与对象的实际类型一致,否则会报错;

  • 带WITH GRANT OPTION授予权限给用户时,接受权限的用户可转授此权限;

  • 不带列清单授权时,如果对象上存在同类型的列权限,会全部自动合并;

  • 对于用户所在的模式的表,用户具有所有权限而不需特别指定;

  • 当授权语句中使用了ALL PRIVILEGES时,会将指定的数据库对象上所有的对象权限都授予被授权者.

例1:SYSDBA把PERSON.ADDRESS表的全部权限授予给用户TEST.

GRANT SELECT,INSERT,DELETE,UPDATE,REFERENCES ON PERSON.ADDRESS TO TEST;

该句也可写成如下形式:

GRANT ALL PRIVILEGES ON PERSON.ADDRESS TO TEST;

在这里插入图片描述

_例2: 假设用户 TEST 创建了存储过程 TEST_PROC,数据

库管理员 SYSDBA 把该存储过程的执行权 EXECUTE 授给已存在用户 TEST2,并使其具有该权限的转授权。_

GRANT EXECUTE ON PROCEDURE TEST.TEST_PROC TO TEST2 WITH GRANT OPTION;

在这里插入图片描述

现在以TEST2的身份登录服务器执行这个存储过程:

在这里插入图片描述

例3:假设 SYSDBA 是表 BOOKSHOP_T1 的创建者,用户 BOOKSHOP_USER1、BOOKSHOP_USER2、BOOKSHOP_USER3 存在,且都不是 DBA 权限用户。

(1)以 SYSDBA 身份登录,并执行语句:

GRANT SELECT ON BOOKSHOP_T1 TO BOOKSHOP_USER1 WITH GRANT OPTION;

在这里插入图片描述

(2)以 BOOKSHOP_USER1 身份登录,并执行语句:

GRANT SELECT ON SYSDBA.BOOKSHOP_T1 TO BOOKSHOP_USER2;

在这里插入图片描述

(3)以 BOOKSHOP_USER2 身份登录,并执行语句:

GRANT SELECT ON SYSDBA.BOOKSHOP_T1 TO BOOKSHOP_USER3;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

看完美团、字节、腾讯这三家的面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。

开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题

注意不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友

最新“美团+字节+腾讯”一二三面问题,挑战一下你能走到哪一面?

互联网工程师必备的面试1000题

而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题

最新“美团+字节+腾讯”一二三面问题,挑战一下你能走到哪一面?

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。

开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题

注意不论是我说的互联网面试1000题,还是后面提及的算法与数据结构、设计模式以及更多的Java学习笔记等,皆可分享给各位朋友

[外链图片转存中…(img-AgI0zWi8-1713523152232)]

互联网工程师必备的面试1000题

而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题

[外链图片转存中…(img-eQ0mdQzC-1713523152234)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值