python连接mongodb数据库密码_windows下mongodb设置用户名密码&用python连接

环境:

主机:WIN10

python版本:3.5

mongodb版本:3.4.2

开发环境:pyCharm

mongodb设置用户名密码:

编写mongodb配置文件mongodb.conf

dbpath=F:\test\db1

logpath=F:\test\log\mongodb.log

logappend=true

bind_ip=127.0.0.1

port=27019

#fork=true

master=true

auth=false

注意:设置用户名密码前将auth参数设置为false

在命令行窗口运行mongodb服务器

输入命令:mongod -f f:/test/mongodb.conf

在命令行窗口运行shell界面配置用户名密码

注意:直接输入mongo连接数据库默认ip是127.0.01,端口是270717

输入命令:mongo.exe mongodb://localhost:27019

在shell界面配置账号管理员root,利用此账号可以增加其他账号

注意:账号管理员没有读写的权限,只能增加其他账号

输入命令:use admin

输入命令:db.createUser({user:"root",pwd:"root",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]})

在shell界面给数据库db1增加账号jdh11:

输入命令登陆账号管理员:db.auth("root", "root")

输入命令:db.createUser({user:"jdh11",pwd:"123456",roles:[{"role":"readWrite","db":"db1"}]})

权限说明:

userAdminAnyDatabase 有分配角色和用户的权限,没有读写的权限

root  超级管理员

readWrite  有读写权限

read  有读权限

重新运行mongodb服务器

将mongodb.conf中的auth设置为true

输入命令:mongod -f f:/test/mongodb.conf

重新运行shell:

输入命令:mongo.exe mongodb://localhost:27019

测试账号是否成功:

输入命令切换到db1数据库:use db1

输入show collections,弹出错误:

> show collections

2017-02-11T13:18:46.524+0800 E QUERY    [thread1] Error: listCollections failed: {

"ok" : 0,

"errmsg" : "not authorized on db1 to execute command { listCollections: 1.0, filter: {} }",

"code" : 13,

"codeName" : "Unauthorized"

} :

_getErrorWithCode@src/mongo/shell/utils.js:25:13

DB.prototype._getCollectionInfosCommand@src/mongo/shell/db.js:805:1

DB.prototype.getCollectionInfos@src/mongo/shell/db.js:817:19

DB.prototype.getCollectionNames@src/mongo/shell/db.js:828:16

shellHelper.show@src/mongo/shell/utils.js:748:9

shellHelper@src/mongo/shell/utils.js:645:15

@(shellhelp2):1:1

登陆账号:

注意:要切换到admin数据库登陆,完整登陆流程:

> use admin

switched to db admin

> db.auth("jdh11", "123456")

1

> use db1

switched to db db1

> show collections

col

>

用python连接mongodb数据库

配置数据库参数代码:

HOST = '0.0.0.0'

PORT = 12800

DATABASE_IP = '127.0.0.1'

DATABASE_PORT = 27019

DATABASE_NAME = 'db1'

连接代码:

from pymongo import MongoClient

from config import *

client = MongoClient(DATABASE_IP, DATABASE_PORT)

db_auth = client.admin

db_auth.authenticate("jdh11", "123456")

db = client[DATABASE_NAME]

collection = db.col

print(list(collection.find({'name': 'jdh11'})))

参考链接:

MongoDB 教程

Mongodb 3.2 开启密码认证

Python数据库-链接mongodb带用户验证

Tutorial

---------------------

作者:jdh99

来源:CSDN

原文:https://blog.csdn.net/jdh99/article/details/54982300

版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值