好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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] : [ ] }

 

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

查看更多关于mongodb数据库的6个安全设置命令的详细内容...

  阅读:25次