栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

达梦数据库DM7用户管理

达梦数据库DM7用户管理

一、背景

用户是登录数据库的账户,一般情况下,默认一个账户对应一个用户,安装完DM数据库后,系统默认自带一些系统级的用户,主要有四个:
1、SYS -----达梦数据库内置管理用户,不能登录数据库,数据库使用的大部分的数据字典和动态性能视图SYS;
2、SYSDBA-----数据库的管理员;
3、SYSAUDITOR---审计用户;
4、SYSSSO---安全用户在DM数据库中;

每一个用户都有一个默认的表空间,对于 SYS、SYSSSO、SYSAUDITOR 系统用户,默认的用户表空间是 SYSTEM,SYSDBA 的默认表空间为 MAIN,新创建的用户如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间。

其次与用户相关的概念有:
模式:一个用户默认对应一个同名的模式,但一个用户也可以创建多个模式;
权限:即一个用户,拥有访问数据库哪些资源的哪些权利;
角色:类似于用户组,创建角色时一般会指定角色权限,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限,DM数据库预定义角色有三个: DBA、PUBLIC、RESOURCE。

关于用户相关的模式、权限、角色在此未展开描述,后续会在其他文章展开。

二、用户相关操作

1、创建用户

语法格式:
CREATE USER <用户名> IDENTIFIED <身份验证模式> [PASSWORD_POLICY <口令策略>][<
锁定子句>][<存储加密密钥>][<空间限制子句>][<只读标志>][<资源限制子句>][<允许 IP 子句>][<
禁止 IP 子句>][<允许时间子句>][<禁止时间子句>][][];<身份验证模式> ::= <数据库身份验证模式>|<外部身份验证模式> <数据库身份验证模式> ::= BY <口令> <外部身份验证模式> ::= EXTERNALLY | EXTERNALLY AS <用户 DN>
<口令策略> ::= 口令策略项的任意组合
<锁定子句> ::= ACCOUNT LOCK | ACCOUNT UNLOCK
<存储加密密钥> ::= ENCRYPT BY <口令> <空间限制子句> ::= DISKSPACE LIMIT <空间大小>| DISKSPACE UNLIMITED
<只读标志> ::= READ onLY | NOT READ ONLY
<资源限制子句> ::= LIMIT <资源设置项>{,<资源设置项>}
<资源设置项> ::= SESSION_PER_USER <参数设置>|
                            CONNECT_IDLE_TIME <参数设置>|
                            CONNECT_TIME <参数设置>|
                            CPU_PER_CALL <参数设置>|
                            CPU_PER_SESSION <参数设置>|
                            MEM_SPACE <参数设置>|
                            READ_PER_CALL <参数设置>|
                            READ_PER_SESSION <参数设置>|
                            FAILED_LOGIN_ATTEMPS <参数设置>|
                            PASSWORD_LIFE_TIME <参数设置>| 
                            PASSWORD_REUSE_TIME <参数设置>|
                            PASSWORD_REUSE_MAX <参数设置>| 
                            PASSWORD_LOCK_TIME <参数设置>| 
                            PASSWORD_GRACE_TIME <参数设置>
<参数设置> ::=<参数值>| UNLIMITED
<允许 IP 子句> ::= ALLOW_IP {,}
<禁止 IP 子句> ::= NOT_ALLOW_IP {,}
::= <具体 IP>|<网段> <允许时间子句> ::= ALLOW_DATETIME <时间项>{,<时间项>}
<禁止时间子句> ::= NOT_ALLOW_DATETIME <时间项>{,<时间项>}
<时间项> ::= <具体时间段> | <规则时间段> <具体时间段> ::= <具体日期> <具体时间> TO <具体日期> <具体时间> <规则时间段> ::= <规则时间标志> <具体时间> TO <规则时间标志> <具体时间> 
<规则时间标志> ::= MON | TUE | WED | THURS | FRI | SAT | SUN
::=DEFAULT TABLESPACE <表空间名>
::= DEFAULT INDEX TABLESPACE <表空间名>

在我们实际使用中,我们最主要需要注意的是,创建用户指定的用户名、密码、资源限制、模式、表空间以及权限;

下面我们进行创建测试:

CREATE USER QHKTEST 
  IDENTIFIED BY qhkKKK123
  DISKSPACE LIMIT 2
  LIMIT
    CONNECT_IDLE_TIME 1,
    PASSWORD_GRACE_TIME 3;

 首先我们创建一个QHKTEST用户,密码为qhkKKK123,磁盘使用空间2M,其次会话连接闲置时间为1分钟,密码过期时间3天;
然后我们用QHKTEST登录数据库,看设置是否生效,特别是一分钟闲置会话时间的设置

从上面我们可以看到,用户登录数据库成功,但是等了3分钟过后,执行SQL的时候,就报错“网络连接异常”,即我们设置的用户策略全都是生效的;

2、用户赋权

语法格式:
GRANT [PRIV_NAME] ON [SCHEMA_NAME].[TABLE_NAME] TO [USER_NAME];

测试只给QHKTEST一个表的SELECt 权限,其余表无权限
GRANT SELECT ON SYSDBA.TEST1 TO QHKTEST;

赋权成功后查询测试:

一般情况下,我们需要赋权的主要是增删查改,其次就是创建视图,触发器等,具体权限设置,根据需求确定。

3、修改用户:

首先我们查看系统中所有的用户信息:

select * from dba_users;

 从上面可以看到,QHKTEST的默认表空间和SYSDBA用户一样,也是MAIN,而创建QHKTEST的时候未指定表空间,现在我们修改默认表空间:

CREATE TABLESPACE QHKTEST DATAFILE 'F:DM7DATADAMENGQHKTEST.DBF' SIZE 128;
ALTER USER QHKTEST IDENTIFIED BY qhkKKK123 DEFAULT TABLESPACE QHKTEST;
SELECt * FROM DBA_USERS;

日常运维过程中,我们经常会用到alter命令以实现用户信息的修改,其他常用的包括:修改密码alter...identified by...、锁定解锁用户alter ...acount lock/unlock等,在此不做展开。

4、 查询用户信息:

查询所有用户信息(如上面截图):
select * from dba_users;

查询所有用户对应的角色:
select * from dba_role_privs;

查询当前用户:
select * from user_users;

5、删除用户:

DELETE USER QHKTEST CASCADE;

该命令请谨慎使用,防止影响生产环境。

更多用户管理相关内容,可以访问达梦官网学习达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/335176.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号