在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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” : [ ] } 说明当前没有锁,可以执行写数据操作。 |
请发表评论