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

6个安全设置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” : [ ] }

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yyfangchan@163.com (举报时请带上具体的网址) 举报,一经查实,本站将立刻删除