故事背景:

我在虚拟机(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"]

【pymongo】连接认证 auth failed解决方法的更多相关文章

  1. SSH连接自动断开的解决方法(deb/rpm)

    ######### 修改后的: ## # tail -f -n 20 sshd_config#MaxStartups 10:30:60#Banner /etc/issue.net # Allow cl ...

  2. Win10 连接L2TP VPN 失败解决方法

    Win10 连接L2TP VPN 失败解决方法 iOS系统不知道在什么时候,已经不支持PPTP VPN.偶尔的机会刚好看到github上的一键式VPN服务器部署脚本setup-ipsec-vpn,就在 ...

  3. 使用VMware Converter Standalone Client进行虚拟机 P2V提示 权限不足,无法连接\\ip\admin$的解决方法集锦

    使用VMware vCenter Converter Standalone Client进行虚拟机 P2V提示 权限不足,无法连接\\ip\admin$的解决方法集锦 步骤一 检查 远程桌面到&quo ...

  4. 关于163发邮件报错535 Error:authentication failed解决方法

    关于发邮件报错535 Error:authentication failed解决方法 调用163邮箱服务器来发送邮件,我们需要开启POP3/SMTP服务,这时163邮件会让我们设置客户端授权码,这个授 ...

  5. pyenv BUILD FAILED解决方法

    在本机mac上安装pyenv安装成功后,用pyenv来安装python 3.5.0又出现了如下的问题: -> pyenv install 3.5.0 Downloading Python-3.5 ...

  6. python2在安装pywin32后出现ImportError: DLL load failed 解决方法

    python2在安装pywin32后出现ImportError: DLL load failed 解决方法 在python2中有时候会出现: import win32api   ImportError ...

  7. vmware 传输(vmdb)错误-32:pipe:read failed 解决方法

    摘自: http://www.myzhenai.com.cn/post/1088.html 传输(vmdb)错误-32:pipe:read failed 解决方法   原创内容,转载请注明出处:htt ...

  8. 【常见的SQL Server连接失败错误以及解决方法】

    [常见的SQL Server连接失败错误以及解决方法] http://blog.csdn.net/feixianxxx/article/details/5523922 ADO连接SQL Server ...

  9. MySQL远程连接不上的解决方法

    这篇文章主要为大家详细介绍了MySQL远程连接不上的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   之前遇到过MySQL本地可以连接但是远程连不上的问题,没有记录,今天在云上新申请的服 ...

随机推荐

  1. idea修改运行内存

    安装目录下的bin 找到idea.exe.vmoptions 最大的修改下-Xmx1024m 找到idea64.exe.vmoptions 最大的修改下-Xmx1024m

  2. thinkphp 3.2 单入口 多模块 不能加载index控制器问题

    菜鸟一个,大神不用看,很喜欢单入口 多模块的方式,所以想自己设置下,结果看很多教程没看懂,也看到有人在问这个问题,分享下我的项目名称是app,首先运行官方的index.php文件,app目录下生成了三 ...

  3. nl命令详解

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

  4. 斯坦福大学CS224d基础1:线性代数回顾

    转自 http://blog.csdn.net/han_xiaoyang/article/details/51629242 斯坦福大学CS224d基础1:线性代数知识 作者:Zico Kolter ( ...

  5. Change ICON of MFC Application and Dialog

    Change ICON of MFC Application and Dialoghttp://www.codeproject.com/Tips/406870/Change-ICON-of-MFC-A ...

  6. html5摇一摇[转]

    写在前面 年底了,有些公司会出一个摇奖的活动,今天在家没事就搜了一下这方面的资料. 原文地址:http://www.cnblogs.com/waitingbar/p/4682215.html 测试 效 ...

  7. php url地址重写

    地址重写: urlRewrite: 就是:  1. 将php的地址index.php不写只写Action模块和function方法, 或者 2. php地址转变成html地址, 就是一种假的html, ...

  8. 深入浅出JSON

      JSON定义     JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成.它基于ECMA262语言规范(1999 ...

  9. There are no interfaces on which a capture can be done.

    There are no interfaces on which a capture can be done. 今天启动了Wireshark 但是提示→There are no interfaces ...

  10. CKEditor使用笔记

    相关资源 1. 首页地址:http://ckeditor.com/ 2. 下载地址:http://ckeditor.com/download 3. SDK地址:http://sdk.ckeditor. ...