创建用户

mongo      # 进入 mongo shell

进入admin数据

show dbs    # 查看所有数据库
use admin   # 使用admin数据库
  • 创建超级管理员
db.createUser({user:"root",pwd:"123456",roles:[{role: 'root', db: 'admin'}]})
# user : 用户名
# pwd: 密码
  • 创建普通用户
# 切换或创建数据库,例:test
use test
db.createUser({user:"testuser",pwd:"testpwd",roles:[{role:"readWrite",db:"test"}]})

先退出mongo shell

exit

修改配置(开启认证)

vim /etc/mongod.conf
  • 加入或者打开注释
security:
  authorization: enabled

在这里插入图片描述

  • 重启mongodb
service mongod restart

测试使用 mongo

在这里插入图片描述
没有了一大片的说明

认证登录

方式1

mongo 

use admin 

db.auth('root', '123456')   # 返回1代表认证成功

方式2

mongo -u root -p 123456  # 跟 mysql 好像~~

熟悉的注释说明又回来啦~
在这里插入图片描述

查看和删除用户

user admin 

# 查看所有用户(任选其一)
### 命令1
db.system.users.find()
### 命令2 
db.getUsers()


# 删除用户 删除时需要切换到该账户所在的数据库(任选其一)
### 命令1
db.removeUser('user')  # 这个命令我使用的时候有警告,不过还是能删
### 命令2
db.system.users.remove({user:"user"})

在这里插入图片描述
在这里插入图片描述

pymongo使用时进行auth认证


class DBMongo(object):

    def __init__(self):
        self.client = MongoClient(f'mongodb://{username}:{password}@127.0.0.1:27017')
        # 如果需要数据库进行认证 加上databasename
        #self.client = MongoClient(f'mongodb://{username}:{password}@127.0.0.1:27017/{databasename}')
        self.db = self.client["python"]['test']

    def __del__(self):
        self.client.close()

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐