服务器之家

服务器之家 > 正文

mongodb数据库的6个安全设置命令

时间:2020-04-25 17:11     来源/作者:MongoDB教程网

1、以安全认证模式启动

复制代码 代码如下:

bin/mongod?–auth?-dbpath /Users/mc2/mongo/db -logpath /Users/mc2/mongo/log.log &

 

使用–auth选项启动mongod进程即可启用认证模式。

或者,也可以修改/etc/mongodb.conf,设置auth=true,重启mongod进程。

2.添加用户

复制代码 代码如下:

db.addUser(“admin”, “123456″)

 

3.安全认证

复制代码 代码如下:

db.auth(“admin”, “123456″)

 

认证成功的情况下

复制代码 代码如下:


db.system.users.find()

 

{ “_id” : ObjectId(“5032e8386a7fc39e31978c50″), “user” : “admin”, “readOnly” : false, “pwd” : “95ec4261124ba5951720b199908d892b” }

 

否则返回空

4.为数据库写数据(同步到磁盘)加锁

 

复制代码 代码如下:

 

db.runCommand({fsync:1,lock:1})

 

说明:

该操作已经对数据库上锁,不允许执行写数据操作,一般在执行数据库备份时有用。执行命令,结果示例如下:

复制代码 代码如下:


db.runCommand({fsync:1,lock:1})

 

{ “errmsg” : “access denied; use admin db”, “ok” : 0 }

use admin

> db.runCommand({fsync:1,lock:1})

{

“info” : “now locked against writes, use db.fsyncUnlock() to unlock”,

“seeAlso” : “http://www.mongodb.org/display/DOCS/fsync+Command“,

“ok” : 1

}

 

5、查看当前锁状态

 

复制代码 代码如下:

 

db.currentOp()

> db.currentOp()

{

“inprog” : [ ],

“fsyncLock” : 1,

“info” : “use db.fsyncUnlock() to terminate the fsync write/snapshot lock”

}

 

其中,fsyncLock为1表示MongoDB的fsync进程(负责将写入改变同步到磁盘)不允许其他进程执行写数据操作

6、解锁

 

复制代码 代码如下:


use admin

 

>db.fsyncUnlock()

{ “ok” : 1, “info” : “unlock completed” }

 

db.$cmd.sys.unlock.findOne() 效果等同

 

> db.currentOp()

{ “inprog” : [ ] }

 

说明当前没有锁,可以执行写数据操作。

相关文章

热门资讯

沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部