达梦数据库创建用户并授予

2024-06-14 11:52

本文主要是介绍达梦数据库创建用户并授予,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求描述:

1.想创建一个用户,这用户能访问其他3个用户的资源,权限是只读,这种创用户的sql怎么写?

2.怎么修改用户密码呢?

环境:

通用机

 一、创建用户并授权

1.创建业务用户步骤

step1:创建用户使用的默认表空间,

表空间可以设置路径:D:\dmdbms\data\newdb,在data下新建文件夹newdb

create tablespace "TBS_TEST" datafile 'TEST.DBF' size 1024 autoextend on ;

step2:创建用户并指定默认使用的表空间

create user "TEST" identified by "TEST@2023" default tablespace "TBS_TEST" default index tablespace "TBS_TEST";

step3:授予用户除了DBA外的所有角色

grant "PUBLIC","RESOURCE","SOI","VTI" to "TEST";

 例子:

create tablespace "TEST" datafile 'D:\dmdbms\data\newdb\TEST' size 1024 autoextend on ;


create user "TEST" identified by "123456" default tablespace "TEST" default index tablespace "TEST";

grant "PUBLIC","RESOURCE","SOI","VTI" to "TEST";


2.创建只读用户

step1:创建用户使用的默认表空间

create tablespace "TBS_READONLY_USER" datafile 'READONLY_USER.DBF' size 1024 autoextend on ;

step2:创建用户并指定默认使用的表空间

create user "READONLY_USER" identified by "TEST@2023" default tablespace "TBS_READONLY_USER" default index tablespace "TBS_READONLY_USER";


step3:授予用户只读权限

grant 
 SELECT TABLE
,SELECT ANY TABLE
,SELECT VIEW
,SELECT ANY VIEW
,SELECT SEQUENCE
,SELECT ANY SEQUENCE
,SELECT ANY DICTIONARY
,SELECT MATERIALIZED VIEW
,SELECT ANY MATERIALIZED VIEW to "READONLY_USER";


3.授予用户指定模式的只读权限

step1:创建用户使用的默认表空间

create tablespace "TBS_TEST" datafile 'TEST.DBF' size 1024 autoextend on ;

step2:创建用户并指定默认使用的表空间

create user "TEST" identified by "TEST@2023" default tablespace "TBS_TEST" default index tablespace "TBS_TEST";

step3:授予用户指定模式的只读权限

DECLARE
    SQLSTMT STRING;
    CURSOR CUR FOR SELECT ID,NAME  FROM SYSOBJECTS  WHERE  TYPE$ = 'SCHOBJ' AND SUBTYPE$ IN ('STAB','UTAB')  AND (PID=-1 OR PID=0) AND  SCHID=(SELECT ID FROM SYSOBJECTS WHERE TYPE$='SCH' AND NAME='模式名' );
    TYPE MYREC IS CUR%ROWTYPE;
    REC_V MYREC;
    BEGIN
    FOR REC_V IN CUR LOOP
    SQLSTMT = 'grant SELECT ON "模式名"."'|| REC_V.NAME  || '" TO "TEST";';
    EXECUTE IMMEDIATE SQLSTMT;
    END LOOP;
    COMMIT;
END; 

注:GZAMR_SJJH 替换为指定模式即可。

角色的理解:

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

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

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

VTI:角色具有系统动态视图查询权限。

SOI:角色具有系统表(SYS开头的表)的查询权限。


二.修改用户密码

alter user 用户名 identified by 新密码;

这篇关于达梦数据库创建用户并授予的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060329

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

Macos创建python虚拟环境的详细步骤教学

《Macos创建python虚拟环境的详细步骤教学》在macOS上创建Python虚拟环境主要通过Python内置的venv模块实现,也可使用第三方工具如virtualenv,下面小编来和大家简单聊聊... 目录一、使用 python 内置 venv 模块(推荐)二、使用 virtualenv(兼容旧版 P

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Mysql中的用户管理实践

《Mysql中的用户管理实践》:本文主要介绍Mysql中的用户管理实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录13. 用户管理13.1 用户 13.1.1 用户信息 13.1.2 创建用户 13.1.3 删除用户 13.1.4 修改用户

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查