DB2 无专门的数据库账号,而是直接使用系统账号的,所以第一步需建立一个系统账号,或者直接在一个已有账号上增加DB2权限。
- 直接找一个系统内未使用的空密码账户作为DB2账户。
首先SSH root 登陆 Solaris ,列出系统所有账户,命令: logins
查看空密码账户:cat /etc/shadow |grep NP
修改账户密码:passwd [username]
查看用户所在组: groups [username]
修改用户所在组: usermod -g [groupid] [username]
—这一步同时能找出拥有DB2管理权限的账号 - 增加db2权限
登陆拥有DB2管理权限的账号 ,命令 : su – [db2root]
登录数据库,命令:db2
查看数据库实例名称,命令:list db directory
连接到数据库:connect to [dbname]
授予连接权限:grant connect on database to user [username]
授予表查询权限:grant select on table [Catalogname].[tablename] to user [username] - 验证账户是否能连接到数据库查询:
db2 connect to [dbname] user [username] using [userpassword]
select * from [tablename]
验证成功。 - 批量授予数据表查询权限
查询出所有的数据表:select TABSCHEMA,tabname from syscat.tables
再在EXCEL里组合出授权语句: grant select on table [TABSCHEMA].[tablename] to user [username]
执行。
或参考以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 |
第一步:创建授权脚本grant.sh db2 connect to $1 rm -f table.txt db2 grant connect on database to user pmap_fgs db2 -x "select TABSCHEMA,tabname from syscat.tables with ur">table.txt cat table.txt|while read schema tabname do db2 grant select on table $schema.$tabname to user pmap_fgs done 第二步:执行脚本对用户pmap_fgs授权 sh grant.sh DBNAME 这样,新建的用户pmap_fgs就对数据库中所有表格就有了select权限。 |
© 2017, ITJOY.NET. 版权所有. 如未注明,均为原创,转载请注明出处。
“DB2 新增查询权限账户”的一个回复