我没有root权限访问我拥有MongoDB的服务器。因此,我需要告诉管理员如何正确设置MongoDB,以便我可以使用它。
我收到此错误:
pymongo.errors.OperationFailure:管理员未授权执行 command {serverStatus:1}
我尝试执行的脚本来自此网站:https://www.mongodb.com/blog/post/getting-started-with-python-and-mongodb
from pymongo import MongoClient
# pprint library is used to make the output look more pretty
from pprint import pprint
# connect to MongoDB, change the << MONGODB URL >> to reflect your own connection string
client = MongoClient("mongodb://127.0.0.1:27017")
db=client.admin
# Issue the serverStatus command and print the results
serverStatusResult=db.command("serverStatus")
pprint(serverStatusResult)
我试图调试它的事情:
检查服务是否正在运行。事实上,它是我检索连接URL的方式。
为我的python脚本提供777权限。
同样,我没有权限直接编辑或配置MongoDB。我可以在终端输入mongo并看到它正在连接。我假设管理员需要创建一个具有所有权限的db用户(我将对此数据库进行管理)。为了减少来回沟通,我想检查是否属于这种情况,如果是这样,我将如何进行此操作。
MondoDB安装在Open Suse Leap 42.3操作系统中。
由于
答案 0 :(得分:0)
您正在使用enabled authentication运行mongod。
要执行serverStatus
命令,您需要以具有clusterAdmin或clusterMonitor角色的用户身份登录。