创建用户
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()