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

  • 相关阅读:
    怎么查看京东店铺的品牌ID
    PPT编辑的时候很卡,放映的时候不卡,咋回事?
    codevs 1702素数判定2
    codevs 2530大质数
    codevs 1488GangGang的烦恼
    codevs 2851 菜菜买气球
    hdu 5653 Bomber Man wants to bomb an Array
    poj 3661 Running
    poj 1651 Multiplication Puzzle
    hdu 2476 String Painter
  • 原文地址:https://www.cnblogs.com/ExMan/p/9825353.html
Copyright © 2011-2022 走看看