我怀疑应用程序存在多个问题,这些问题与数据库的权限有关。
然而,一切似乎都已锁定,我无法完成基本命令,如show dbs,以便进一步解决问题,并“查看”我正在处理的内容。我被困在这上面已经两天了,这真的很令人沮丧。
我在在线控制台和本地终端上都尝试过这种方法,包括在登录时提供的和没有提供的用户凭据:
在线控制台
Console > MongoDB Service > Deployment > Pod > mongodb-1-vs19d > Terminal
sh-4.2$ mongo
MongoDB shell version: 2.6.9
connecting to: test
> show dbs
2016-07-13T04:33:10.809-0400 listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases:
1.0 }",
"code" : 13
} at src/mongo/shell/mongo.js:47本地终端
me@my-computer:~$ oc rsh mongodb-1-vs19d
sh-4.2$ mongo
MongoDB shell version: 2.6.9
connecting to: test
> show dbs
2016-07-13T04:35:06.449-0400 listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" : 13
} at src/mongo/shell/mongo.js:47具有用户凭据的本地终端
me@my-computer:~$ oc rsh mongodb-1-vs19d
sh-4.2$ mongo -u $MONGODB_USER -p $MONGODB_PASSWORD $MONGODB_DATABASE
MongoDB shell version: 2.6.9
connecting to: users
> show dbs
2016-07-13T04:51:39.127-0400 listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" : 13
} at src/mongo/shell/mongo.js:47envars的故障排除是正确的:
me@my-computer:~$ oc env pods mongodb-1-vs19d --list
# pods mongodb-1-vs19d, container mongodb
MONGODB_USER=admin
MONGODB_PASSWORD=secret
MONGODB_DATABASE=users
MONGODB_ADMIN_PASSWORD=very-secret该数据库是从本地终端创建的,其中:
oc new-app mongodb-persistent -p MONGODB_USER=admin,MONGODB_PASSWORD=secret,MONGODB_ADMIN_PASSWORD=very-secret根据官方文件:
发布于 2016-07-20 09:20:10
看起来,您试图将show dbs作为未被授予所需角色的用户。您可以尝试将自己身份验证为admin,如下所示:
mongo -u admin -p $MONGODB_ADMIN_PASSWORD admin然后,您应该能够show dbs,show users,use的其他数据库,并显示用户在那里,等等。
您的$MONGODB_USER名为admin,这有点让人困惑--这个常规用户将可以访问$MONGODB_DATABASE。最有可能的还有另一个admin 已由已使用的映像创建。。
https://stackoverflow.com/questions/38346622
复制相似问题