环境:

主机: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
版权声明:本文为博主原创文章,转载请附上博文链接!

windows下mongodb设置用户名密码&用python连接的更多相关文章

  1. Windows下MongoDB设置用户、密码

    在默认情况下,mongod是监听在127.0.0.1之上的,任何客户端都可以直接连接27017,且没有认证. 好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱. 坏处是,公网服务器搭建Mong ...

  2. windows下MySQL 忘记初始密码

    一.windows下修改MySQL用户密码的方法:   1.关闭正在运行的MySQL服务:net stop mysql  或 在windows 任务管理器中结束 mysqld.exe 进程 或 在 管 ...

  3. windows下如何设置mysql环境变量

    方法一: windows下如何设置mysql环境变量 关键词: mysql, Setting Environment Variables, 环境变量设置 我的电脑->属性->高级-> ...

  4. windows下mongodb基础玩法系列二CURD附加一

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  5. windows下Mongodb图形化工具安装及配置

    接上篇文章<Windows下Mongodb安装部署.docx> 一.RockMongo 1.RockMongo需要php环境,首先需要搭建php环境,选择采用 下载xampp,这里我用的是 ...

  6. Windows下新建隐藏用户名

    Windows下新建隐藏用户名,防止忘记密码

  7. MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法

    MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...

  8. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  9. windows下mongodb基础玩法系列一介绍与安装

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

随机推荐

  1. mysql错误Error(1133): Can’t find any matching row in the use

    执行插入用户语句没有问题,但是执行权限赋值的时候提示:1133 - Can't find any matching row in the user table; 解决办法:插入新的用户成功时,需要刷新 ...

  2. winform 实现两个datagridview之间的数据联动

    再做数据库开发的时候,经常会遇到表带上明细表,比如,一个学校有好多系,每个系又有好多专业.... 在winform中,都会使用datagridview来显示数据,现在就来说说如何实现之间的联动.比如现 ...

  3. jupyter 教程

    官网: http://jupyter.org/

  4. Python之基础练习题

    Python之基础练习题 1.执行 Python 脚本的两种方式 2.简述位.字节的关系 解:8位是一个字节 3.简述 ascii.unicode.utf-8.gbk 的关系 4.请写出 “李杰” 分 ...

  5. 后端传前端数据乱码(返回json字符串到前端)

    中文乱码的问题,在开发过程中难免会遇到,而在配置好编码之后,不管是数据库,还是其他地方都配置好统一UTF-8编码之后,后端从数据库取出数据传回前端,还会乱码,这里以ssm框架为例,因为是我自己遇到的, ...

  6. 表情符号Emoji的正则表达式

    /** * 判断字符串包含表情 * @param value * @return */ public static boolean containsEmoji(String value){ boole ...

  7. 在jupyter notebook 中编辑公式

    jupyter notebook是一个python的交互式开发环境,广泛应用于数据分析的场景下. 在jupyter notebook中,还可以很方便的编辑数学公式. 1.Markdown状态 编辑公式 ...

  8. java springMVC 极致验证 非demo版

    最近公司项目需要,做了个极致验证,自己在此做下记录. 先上效果图: 它的官网:http://www.geetest.com/   里面有 身份验证.行为验证,  我这使用的为行为验证. 技术文档:ht ...

  9. 567. Permutation in String

    Problem statement: Given two strings s1 and s2, write a function to return true if s2 contains the p ...

  10. 3D模型

    题目描述 一座城市建立在规则的n×m网格上,并且网格均由1×1正方形构成.在每个网格上都可以有一个建筑,建筑由若干个1×1×1的立方体搭建而成(也就是所有建筑的底部都在同一平面上的).几个典型的城市模 ...