在MongoDB 3.2中,我设置了一个具有权限的用户:
db.createUser(
{
user: "username",
pwd: "pass",
roles: [ { role: "readWrite", db: "dbname" }]
}
)
db.auth("username", "pass" )
当我使用 JMeter(2.13) 连接到数据库(使用 Jmeter 的元素 MongoDB Source Config 、MongoDB 脚本)并运行如下查询时:
db.mycollectionname.find()
我收到此错误:
error: { "$err" : "not authorized on dbname to execute command { $eval: "db.mycollectionname.find()", args: [] }" , "code" : 13}
虽然我已经提供了所有必要的细节服务器地址列表,数据库,用户,密码分别到Jmeter的MongoDB源配置,MongoDB脚本。
任何想法会发生什么?
我遇到了同样的问题。我必须设置一个具有 eval 权限的用户,即使不建议这样做(即使管理员用户也没有这些权限)。
尝试一下并更改脚本以查看新用户,它应该可以工作。