DB2没有数据库级别的用户,只能使用操作系统级别的用户;所以要新建DB2用户,要先在数据库服务器上新建操作系统用户。
例如要给数据库新建一个 dbusr
用户
首先用root用户登录数据库服务器:
- 添加用户:
useradd dbusr
- 修改
dbusr
的密码:passwd dbusr
- 切换用户到
db2inst1
(DBA权限的用户):su - db2inst1
- 连接到数据库:
db2 connect to db_name
- 赋予
dbusr
连接数据库的权限 :db2 grant connect on database to user dbusr
- 给
dbusr
赋予DB2WL
模式下的表table_name select和insert权限:db2 grant select,insert on table DB2WL.table_name to user dbusr
- 使用
dbusr
用户连接到数据库, 测试权限:db2 connect to db_name user dbusr using password
- 用语句拼出来增删改查赋权语句:
select 'GRANT SELECT,UPDATE,INSERT,DELETE ON TABLE '||TABSCHEMA||'.'||TABNAME||' TO USER dbusr;' from syscat.tables;
GRANT SELECT ON TABLE DB2WL.TB_NAME TO USER DBUSR WITH GRANT OPTION;
GRANT INSERT ON TABLE DB2WL.TB_NAME TO USER DBUSR WITH GRANT OPTION;
GRANT DELETE ON TABLE DB2WL.TB_NAME TO USER DBUSR WITH GRANT OPTION;