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
版权声明:本文为博主原创文章,转载请附上博文链接!
windows下mongodb设置用户名密码&用python连接的更多相关文章
- Windows下MongoDB设置用户、密码
在默认情况下,mongod是监听在127.0.0.1之上的,任何客户端都可以直接连接27017,且没有认证. 好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱. 坏处是,公网服务器搭建Mong ...
- windows下MySQL 忘记初始密码
一.windows下修改MySQL用户密码的方法: 1.关闭正在运行的MySQL服务:net stop mysql 或 在windows 任务管理器中结束 mysqld.exe 进程 或 在 管 ...
- windows下如何设置mysql环境变量
方法一: windows下如何设置mysql环境变量 关键词: mysql, Setting Environment Variables, 环境变量设置 我的电脑->属性->高级-> ...
- windows下mongodb基础玩法系列二CURD附加一
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- windows下Mongodb图形化工具安装及配置
接上篇文章<Windows下Mongodb安装部署.docx> 一.RockMongo 1.RockMongo需要php环境,首先需要搭建php环境,选择采用 下载xampp,这里我用的是 ...
- Windows下新建隐藏用户名
Windows下新建隐藏用户名,防止忘记密码
- MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法
MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...
- windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- windows下mongodb基础玩法系列一介绍与安装
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
随机推荐
- db2数据库,表相乘,直接扩大表数据
T1 表 SEQ表 想得到结果集为: 语句: SELECT * FROM (SELECT * FROM seq,t1) u LEFT JOIN t1 ON u.id=t1.id AND u.jjh=t ...
- c++基础_特殊回文数
#include <iostream> using namespace std; int main(){ int n; cin>>n; ;i<;i++){ int tem ...
- Variational Auto-Encoders原理
目录 AE v.s. VAE Generative model VAE v.s. GAN AE v.s. VAE Generative model VAE v.s. GAN
- 集训第六周 数学概念与方法 概率 数论 最大公约数 G题
Description There is a hill with n holes around. The holes are signed from 0 to n-1. A rabbit must h ...
- UVa 11998 破碎的键盘(数组实现链表)
题意: 输入一行字符,其中包含'[' 和 ‘]’, 意思为键盘上的home 和 end 键, 然后模拟字符在键盘上输入. 输入一行最终的结果 分析: 用数组模拟一个链表, 在链表的头尾插入字母然后输出 ...
- reactNative 打包那些事儿
我们项目测试时一般是debug版本,打包上线,一般是release版本,所以在测试和打包时会走不同的方法,如上图所示. 在debug版本中,会走我们本地服务器,也就是自己电脑上的服务.在release ...
- Git和SVN共存的方法
刚工作的时候都是用的cvs和svn,对git不熟悉,随着工作的需要,打分支和版本管理的需要,熟悉起来了git,这一用不可收拾,比svn远远好用,尤其是版本分支管理上,切换分支的方便性,现在这家公司还是 ...
- hdu 3657 最小割(牛逼!!!!)总算理解了
<strong></strong> 转载:http://blog.csdn.net/me4546/article/details/6662959 加颜色的太棒了!!! 在网上看 ...
- vue2.0一个书城实例
gitHub克隆地址 git clone https://github.com/Webxiaoyaun/vue-book.git 点击去Github下载 ## 一个书城 ## 有增加,修改,缓存,懒加 ...
- 子集和的目标值(codevs 1692)
题目描述 Description 给定n个整数in和目标值T,求某一非空子集使 子集的元素的和 与 目标值之差 的绝对值最小,元素可重复 输入描述 Input Description 第一行为整数n ...