达梦数据库如何新建用户
时间: 2025-07-16 22:30:27 浏览: 16
在达梦数据库(DM Database)中,创建新用户是一项常见的操作,通常涉及使用 SQL 语句或通过 DM 管理工具完成。以下详细介绍了新建用户的多种方法及其相关配置。
### 创建用户的基本语法
在达梦数据库中,可以使用 `CREATE USER` 语句来创建一个新用户,并为其指定密码、默认表空间等属性:
```sql
CREATE USER username IDENTIFIED BY password [其他选项];
```
例如,创建一个名为 `test` 的用户,密码为 `dameng123`,并设置其默认表空间为 `test`,同时要求每 60 天修改一次密码:
```sql
CREATE USER test IDENTIFIED BY dameng123 LIMIT PASSWORD_LIFE_TIME 60 DEFAULT TABLESPACE test;
```
此操作将确保用户拥有独立的存储空间,并满足安全策略中的密码生命周期要求[^4]。
### 指定用户所属角色
用户创建后,可以通过 `GRANT` 语句为其分配角色,以控制其访问权限。例如,授予用户 `test` 具有 `DBA` 角色权限:
```sql
GRANT DBA TO test;
```
此外,也可以授予其他常见角色,如 `RESOURCE` 或 `PUBLIC`,这些角色分别具有不同的系统权限集。查看用户所拥有的角色可以使用如下查询:
```sql
SELECT grantee, granted_role FROM dba_role_privs WHERE grantee = 'TEST';
```
该查询将列出用户 `test` 所拥有的所有角色及其对应的权限。
### 表空间管理与用户关联
为了更好地管理数据存储,建议为每个用户分配专用的表空间。创建表空间的语法如下:
```sql
CREATE TABLESPACE tablespace_name DATAFILE 'file_path' SIZE size;
```
例如,创建一个名为 `test` 的表空间,数据文件路径为 `/dm7/data/DAMENG/TEST_01.dbf`,大小为 32MB:
```sql
CREATE TABLESPACE test DATAFILE '/dm7/data/DAMENG/TEST_01.dbf' SIZE 32;
```
之后,在创建用户时指定该表空间作为默认表空间:
```sql
CREATE USER test IDENTIFIED BY dameng123 DEFAULT TABLESPACE test;
```
这样可以确保用户的数据和索引都存储在其专属的表空间中,便于管理和维护[^4]。
### 权限管理
除了角色权限外,还可以为用户授予特定的对象权限,例如对某个表的 `SELECT` 或 `INSERT` 权限。授予对象权限的语法如下:
```sql
GRANT privilege_type ON object_name TO user_name;
```
例如,授予用户 `test` 对表 `employees` 的 `SELECT` 权限:
```sql
GRANT SELECT ON employees TO test;
```
这将允许用户 `test` 查询 `employees` 表中的数据,但不能执行其他操作,除非被授予更多权限。
### 资源限制与安全性设置
达梦数据库支持对用户进行资源限制,例如限制会话数、CPU 使用时间等。使用 `LIMIT` 子句可以在创建用户时设置这些参数。例如:
```sql
CREATE USER test IDENTIFIED BY dameng123 LIMIT SESSION_PER_USER 5 CPU_PER_SESSION 100;
```
此语句创建了一个用户 `test`,并限制其最多只能有 5 个并发会话,且每个会话最多使用 100 秒的 CPU 时间。这种设置有助于防止资源滥用,提高系统的整体稳定性[^1]。
阅读全文
相关推荐


















