达梦数据库有自己的默认用户名密码 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; /
一个用户名下可以有多个模式名。但是一个模式只能跟着一个用户,用户名就相当于爸爸,模式名就是儿子。
那么这样的有啥好处呢,就是一个用户登录上来可以访问他自己模式下的所有东西。
不同库(可以理解为模式)下可以有相同名字的用户名
在每一个库下创建一个用户,就会生成一个相同名字的模式名。