zoukankan      html  css  js  c++  java
  • windows下mongodb设置用户名密码&用python连接

    环境:

    主机:WIN10

    python版本:3.5

    mongodb版本:3.4.2

    开发环境:pyCharm


    mongodb设置用户名密码:

    编写mongodb配置文件mongodb.conf
    dbpath=F: estdb1
    logpath=F: estlogmongodb.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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Javascript之in操作符的用法
    auguements实参对象的数组化
    jQuery多库共存问题解决方法
    JS框架设计之命名空间设计一种子模块
    WebStorm 快键键
    Sington单例模式(创建型模式)
    Asp.Net Cache缓存技术学习
    跨域
    webuploader跨域上传
    BuiltWith
  • 原文地址:https://www.cnblogs.com/ExMan/p/9825353.html
Copyright © 2011-2022 走看看