DB2数据库如何新建普通用户并赋权?

如题

已邀请:

DB2数据库中的用户,实际上共享当前操作系统的用户。以win系统的DB2为例,创建用户,并赋权。


1、创建普通用户,访问控制面板-用户账户-管理其他账户-添加用户账户

/uploads/files_user1/answer/5e7d6bfcde622656948.png

2、用户ncc_auto创建成功后,为用户赋权数据库。首先打开命令行窗口,进行DB2窗口

db2cmd

/uploads/files_user1/answer/5e7d6c6217948110642.png

3、连接到指定数据库

db2 connect to ncc_auto

/uploads/files_user1/answer/5e7d6cdb94ad4674644.png

4、赋权给ncc_auto用户使用ncc_auto数据库权限

db2 grant dbadm on database to user ncc_auto

附可选权限:

CREATETAB: 用户可以在数据库中创建表。   

BINDADD: 用户可以使用 BIND 命令在数据库中创建包。   

CONNECT: 用户可以连接数据库。   

CREATE_NOT_FENCED: 用户可以创建 unfenced 用户定义函数(UDF)。   

IMPLICIT_SCHEMA: 用户可以在数据库中隐式地创建模式,而不需要使用 CREATE SCHEMA 命令。   

LOAD: 用户可以将数据装载进表中。   

QUIESCE_CONNECT: 用户可以访问处于静默(quiesced)状态的数据库。   

CREATE_EXTERNAL_ROUTINE: 用户可以创建供应用程序和数据库的其他用户使用的过程。

secadm:安全性管理员

Dbadm:DBADM 用户对一个数据库有几乎完全的控制能力。DBADM 用户不能执行某些维护或管理任务

/uploads/files_user1/answer/5e7d6ef94bb67303074.png

5、至此,用户ncc_auto就可以访问连接ncc_auto数据库了

linux下


DB2没有数据库级别的用户,只能使用操作系统级别的用户。

# useradd db2inst2

使用root添加用户db2inst2

# passwd db2inst2

修改db2inst2的密码

# su - db2inst1

切换db2inst1(实例创建者或者使用可以设置数据库权限的用户)

$ db2 connect to sample

连接到目标数据库

$ db2 grant connect on database to user db2inst2

赋予db2inst2连接数据库的权限

$ db2 grant select,insert on table db2inst1.act to user db2inst2

赋予db2inst2在表db2inst1.act上的select和insert权限

$ db2 connect to SAMPLE user db2inst2 using password

使用db2inst2用户连接到数据库,然后测试权限是否正确

要回复问题请先登录注册