达梦数据库有自己的默认用户名密码 SYSDBA:SYSDBA, SYSDBA用户的默认模式为SYSDBA。

但是工作中,当几个服务需要连接达梦数据库,读或者取数据时,是希望有自己的用户名密码来独立使用的,也提高了安全性。所以需要创建用户。

当几个用户的权限一致时,其实可以使用角色更为简单。

1. 角色

/*查询所有角色*/
>select * from dba_roles;
/*创建角色*/
>create role roletest;

/*回收角色*/

>revoke insert table from roletest;
/*给角色赋予权限-建表权限*/
>grant create table to roletest with admin option;
/*给角色赋予权限-创建表空间*/
grant create tablespace to roletest with admin option;
/*查询角色权限*/
>select * from dba_sys_privs where grantee ='ROLETEST';

2 .用户

/*查询所有用户*/
>select username from dba_users;
/*创建用户(testa:testa123456)*/
create user testa identified by testa123456 default tablespace ***;

/*删除用户*/

>drop user TESTA;

DROP USER <用户名> [RESTRICT | CASCADE];

如果使用了CASCADE选项,除数据库中该用户及其创建的所有对象被删除外,如果其他用户创建的表引用了该用户表上的主关键字或唯一关键字,或者在该表上创建了视图,DM还将自动删除相应的引用完整性约束及视图依赖关系
/*将角色赋予testa*/
grant roletest to testa with admin option;

各种权限看自己需求自己加即可。

3.表空间

在创建表空间时,有时需要设置自动增长。
/*创建表空间,并设置自动扩展,每次扩展1M,最大100M*/
CREATE TABLESPACE TS2 DATAFILE '/mds6800/damengdb/db/DAMENG/TS2.dbf' SIZE 128 AUTOEXTEND ON NEXT 1 MAXSIZE 100;

4.

模式:

如果项目没要求具体的模式,其实用用户自己默认的即可,默认的模式名跟用户名一致。

/*创建模式TSCH*/

>CREATE SCHEMA TSCH AUTHORIZATION TESTA; /

一个用户名下可以有多个模式名。但是一个模式只能跟着一个用户,用户名就相当于爸爸,模式名就是儿子。

那么这样的有啥好处呢,就是一个用户登录上来可以访问他自己模式下的所有东西。

不同库(可以理解为模式)下可以有相同名字的用户名

在每一个库下创建一个用户,就会生成一个相同名字的模式名。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐