presto 327 版本连接mongodb 的一个问题

升级至Presto327版本后,连接MongoDB出现未授权错误。问题在于新版本要求连接器配置的数据库账号需有admin权限。通过给账号授予admin角色权限,问题得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近升级presto327版本,发现连接mongodb失败:

Query 20191227_140717_01114_j89ju failed: com.mongodb.MongoQueryException: Query failed with error code 13 and error message 'not authorized on a0001 to execute command { find: "system.views", filter: { _id: "a0001.test" }, limit: 1, singleBatch: true, $db: "a0001", $clusterTime: { clusterTime: Timestamp(1577455620, 1), signature: { hash: BinData(0, 1DC5A2F8D649567836AC3F0B3CAF1FECCA500EF0), keyId: 6123436269146259457 } }, lsid: { id: UUID("c8a415bc-2234-4d56-8b17-c1fc54ce9d08") } }' on server 192.168.111.12:27017

但是在324、317等版本上面,没有发现该问题,查了一下Mongodb的连接器配置说明:
presto 324:

在这里插入图片描述

presto 327:
在这里插入图片描述

从presto的说明上看,应该是从327版本开始,连接器配置的@database需要授权,以前版本不需要。查了一下,确实Presto配置连接的账号没有admin库的权限:
db.getUser(“hari”);
给授权:

use admin
db.grantRolesToUser ( "qingfeng", [ { role: "__system", db: "admin" } ] )

问题解决。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值