【pymongo】连接认证 auth failed解决方法

【pymongo】连接认证 auth failed解决方法故事背景:我在虚拟机(ip:192.168.xx.xx)上建立了一个mongo的数据库,里面已经存好了内容。里面的一个database叫做"adb",里面有个collectio

大家好,又见面了,我是你们的朋友全栈君。

故事背景:

我在虚拟机(ip:192.168.xx.xx)上建立了一个mongo的数据库,里面已经存好了内容。里面的一个database叫做 “adb”, 里面有个collection, 叫做”acol”

我打开了mongo的认证功能,并且把用户”userA”授予了访问”adb”的权限。

 

然后,我用下面的方式连接

import pymongo
host = '192.168.xx.xx'
conn = pymongo.MongoReplicaSetClient('mongodb://%s:%s@%s' % ("userA", "password", host))
db = conn["adb"]
collect = db["acol"]

结果报错:

pymongo.errors.OperationFailure: command SON([(‘authenticate’, 1), (‘user’, u”), (‘nonce’, u”), (‘key’, u”)]) on namespace admin.$cmd failed: auth failed

 

然后,各种纠结。后来看了官网,终于找到了解决方法。

http://api.mongodb.org/python/current/examples/authentication.html

1.查看pymongo版本: 结果为3.2

pip list -v

2.查看mongoDB版本: 结果为2.6

在mongo终端中输入

db.version()

 

mongoDB有不同的认证机制,3.0版本以后采用的是‘SCRAM-SHA-1’, 之前的版本采用的是‘MONGODB-CR’。所以,以我的版本情况,显然应该用’MONGODB-CR’

用下面的方法连接,就成功了。

host = '192.168.xx.xx'
client = pymongo.MongoClient(host)
client.adb.authenticate("userA", "password", mechanism='MONGODB-CR')
db = client["adb"]
collection = db["acol"]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154476.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • POE交换机通用吗_工业级交换机

    POE交换机通用吗_工业级交换机目前PoE交换机需要量大,那一定有些人疑惑PoE交换机能够替代一般工业交换机应用吗?下面为大伙儿介绍下,一起来瞧瞧吧。一般状况下是还可以的,具备IEEE802.3af或是IEEE802.3at协议书的POE交换机,输出电压时会有一个小电流量侦测。假如另一方不是带PoE的设备,那么就不容易供以往48V的工作电压。可是PoE交换机虽具有交换机的作用,作为一般工业交换机应用时,沒有最大限度充分发挥它的使用价值,不足经济发展节省,是自然资源的消耗。假如不用对联接设备给予直流电,能够同时采用一般工业.

  • 计算流体力学基础与网格概述(与书同行)——ANSYS ICEM CFD网格划分从入门到精通——丁源「建议收藏」

    计算流体力学基础与网格概述(与书同行)——ANSYS ICEM CFD网格划分从入门到精通——丁源「建议收藏」一、计算流体力学基础:1、 建立物理模型,将其抽象为数学、力学模型后,要分析几何体的空间影响区域;2、 建立整个几个形体与其空间影响区域(计算区域的CAD模型),将整个计算区域进行空间网格划分。3、 加入求解所需要的初始条件;4、 选择适当的算法,设置具体的控制求解过程和精度的一些条件,对所研究的问题进行分析,保存数据文件结果;5、 选择合适的后处理器(postprocessor)读取计算结果文件,分析并且显示出来。数值模拟方法:1、 有限差分法;2、 有限元法;3、 有限体积法;子域法

  • ResNet 18 的结构解读「建议收藏」

    ResNet 18 的结构解读「建议收藏」现在很多网络结构都是一个命名+数字,比如(ResNet18),数字代表的是网络的深度,也就是说ResNet18网络就是18层的吗?其实这里的18指定的是带有权重的18层,包括卷积层和全连接层,不包括池化层和BN层。下面先贴出ResNet论文中给出的结构列表。对Pytorch中ResNet18网络的源码分析(这里),我画出了大致的网络结构图。可以看出,数字18=17个…

  • android root 缺少busybox,手机安装不了Busybox已经root安装后显示让更换路径..「建议收藏」

    android root 缺少busybox,手机安装不了Busybox已经root安装后显示让更换路径..「建议收藏」为Android加入busybox工具可以通过两种方式进入Android的console:1.直接执行命令emulator-shell;2.在启动emulator后,通过命令adbshell进入。之后就可以使用一些linux下常用的命令了,如ls,cat等。然而Android自带的toolbox(位于/system/bin中)也太简略了点,有些命令如find,Android并不支持或者支持…

  • 【机器学习】F1分数(F1 Score)详解及tensorflow、numpy实现

    【机器学习】F1分数(F1 Score)详解及tensorflow、numpy实现F1-Score相关概念F1分数(F1Score),是统计学中用来衡量二分类(或多任务二分类)模型精确度的一种指标。它同时兼顾了分类模型的准确率和召回率。F1分数可以看作是模型准确率和召回率的一种加权平均,它的最大值是1,最小值是0。真实1真实0预测1TruePositive(TP)真阳性FalsePositive(FP)假阳性预测0Fals…

    2022年10月14日
  • java中hashcode的用法_javahashcode作用

    java中hashcode的用法_javahashcode作用hashcode()是干什么用的?首先hashcode是哈希算法的一中简单实现,他是一个对象的哈希吗值。一般和equals一起使用。 hashcode也是用来查找的,如果你学过数据结构就应该知道,在查找和排序这一章有 例如内存中有这样的位置 01234567 而我有个类,这个类有个字段叫ID,我要把这个类存放在以上8个位置之一,如果不用hashcode而任意存放,

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号