连接本机或局域网部署的mongodb时可以用以下方法:

 1 from urllib import parse
 2 from pymongo import MongoClient
 3
 4 host = '*.*.*.*'
 5 username = '*****'
 6 password = '****'
 7 passwd = parse.quote(password)  # 对密码先进行编码
 8 port = '3717'
 9  mongo_url = 'mongodb://{0}:{1}@{2}:{3}'.format(username, passwd, host, port)
10 clinet = MongoClient(mongo_url)

但连接集群部署的mongodb时,再用以上代码连接,会报错:pymongo.errors.OperationFailure: not authorized

因为mongoDB有不同的认证机制,3.0版本以后采用的是'SCRAM-SHA-1', 之前的版本采用的是'MONGODB-CR',所以首先需要查看自己连接的mongodb的版本号

需要更改连接方式,代码如下:

from pymongo import MongoClient
host = '**.**.**.**'
username = '*****'
password = '....'
port = '3717'
db = 'test'
mongo_url = 'mongodb://{0}:{1}@{2}:{3}/?authSource={4}&authMechanism=SCRAM-SHA-1'.format(username, password, host, port,db)
clinet = MongoClient(mongo_url)    

authMechanism参数根据自己的版本号,写对应的值就可以了

转载于:https://www.cnblogs.com/benben-wu/p/10312689.html

使用pymongo连接mongodb时报错:pymongo.errors.OperationFailure: not authorized相关推荐

  1. 解决python-kafka连接kafka时报错kafka.errors.NoBrokersAvailable: NoBrokersAvailable

    完整报错: Traceback (most recent call last):File "/Applications/PyCharm.app/Contents/plugins/python ...

  2. mysql第二天无法连接_MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:...

    http://zeusami.iteye.com/blog/1112827 MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.Commun ...

  3. 连接mysql时报错:The driver has not received any packets from the server.

    连接mysql时报错. 前几天可以打开的数据库也不能打开,报java.net.ConnectException: Connection refused: connect.错误. 报错原因:mysql服 ...

  4. Python使用pymongo连接MongoDB数据库并进行操作

    一.基本概述 目前电脑上已经下载了MongoDB数据库.navicat for mongodb作为mongoDB的可视化工具,形如navicat for mysql作为mysql的可视化工具. 使用P ...

  5. 解决ubuntu中连接mysql时报错:Access denied for user ‘root‘@‘localhost‘

    在ubuntu安装好mysql后无脑的跟着别人的博客配置了远程访问的权限,然后在连接时报错: itcast@itcast-virtual-machine:/usr/share/mysql$ mysql ...

  6. php mongodb 连接失败,解决PHP使用普通账号连接mongodb报错问题

    起先使用mongodb来开发,未加上账号密码验证功能. mongodb一直正常,准备放到线上之时加上账号密码功能,整个过程如下 增加mongodb账号 增加用户a_ttlsa_com对a_ttlsa_ ...

  7. java项目连接mysql时报错:

    错误提示: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connect ...

  8. pymongo连接mongodb的replset

    replset的一个目的是保持集群的健壮性,但是,因此需要通过合理的方式连接整个replset,才能在primary宕机的时候,自动启用secondary. 为此,pymongo提供了replica_ ...

  9. windows下安装mongodb时报错verify that you have sufficient privileges to start system services解决方法

    安装mongodb时出现的情况 系统:win7 提示: service 'mongodb server' failed to start.verify that you have sufficient ...

最新文章

  1. Asp.net 不安全端口 解决chrome浏览器访问时提示:ERR_UNSAFE_PORT
  2. C#操作Excel时,Excel常用的方法和属性zz
  3. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1093:计算多项式的值
  4. Mysql Hunter
  5. python3 random模块_Python3 中 random模块
  6. OpenCV-尺寸调整cv::resize
  7. c php curl post,php curl post
  8. 矩阵论第二章总结:范数理论及应用(脑图)
  9. 最大报销额(HDU 1864)
  10. 冒烟测试正确名称是踩雷测试,雷区测试
  11. android利用itext5制作pdf,Itext5生成PDF
  12. mac下载安装adb环境
  13. MSN聊天记录备份和还原方法
  14. html5 邮箱后缀自动填写,JS输入用户名自动显示邮箱后缀列表的方法
  15. Kyan网络监控设备账号密码泄露漏洞
  16. tensorflow最新版本与keras版本对应
  17. 仿微信控制输入法的显示和隐藏
  18. 数字图像处理01:imadjust函数的Pyhton实现
  19. (中石油七)问题 J: 位置2016(水题)
  20. 你非Uber,其实你更应该降低(对,是降低)你的价值链

热门文章

  1. javaweb简单的登录增删改查系统_国产化之路统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作...
  2. linux echo 当前时间,linuxecho
  3. solidwork 侵权 证据_电子商务法复习题
  4. Lesson2.2 2.3 Maya command reference quick help
  5. html设置渐变色背景图片,css中渐变色作为背景图来使用总结
  6. 中文文本纠错算法实现
  7. 基于LSTM搭建文本情感分类的深度学习模型:准确率95%
  8. 学生HTML5今后的打算,今后我打算小学生日记
  9. Python下的云计算(OpenStack技术书籍)
  10. Android服务注册完整过程源码分析