mongodb权限验证开启

mongodb安装之后默认是没有用户和密码的,可以容易的接入,但是真实使用中肯定不会是这样的,需要有用户验证,研究了好久,记录一下:

mongo shell 添加用户:

有2种方式可以启动mongo的权限认证

1.直接输入命令(仅当前启动有效)

sudo mongod -auth

2.修改/etc/mongo.conf,增添以下内容

security:
  authorization: enabled

创建管理员

  • 创建超级管理员

    use admin
    db.createUser({"user":"python","pwd":"python","roles":["root"]})
    
  • 创建普通管理员

    use admin
    db.createUser({"user":"python1", "pwd":"python1", roles:[{"role":"read","db":"dbname1"},{"role":"readWrite","db":"dbname2"}
    ]})
    

登陆认证(需要use admin后认证)

use admin
db.auth('python','python')

查看所有用户

show users

删除用户

db.dropUser('python')

python连接mongodb:

首先安装pymongo库

pip install pymongo
from  pymongo  import MongoClient()

连接方式:

  • 默认client = MongoClient()
  • 通过host+port的方式:client = MongoClient(host,port)
  • 通过uri的方式:client = MongoClient(uri)

uri的格式:

uri = 'mongodb://' + user + ':' + pwd + '@' + server + ':' + port +'/'+ db_name

获取数据库名

db = client.getdatabase(db_name)

写入数据:

db.collect_name.insert_by(data)

查询数据:

db.collect_name.find(filter)

猜你喜欢

转载自blog.csdn.net/qq_36217796/article/details/86212887