前一阵跑程序时发现一个问题,同事导出了部分数据,但是在merge回原库时竟然和原库的数据对不上,后来找了半天发现是原库数据少了。
找了很多资料发现很多人认为的操作日志和我想的不太一样。。。找了半条才发现这个,在shard server上使用命令可以查看删除操作:
#查看删除操作,查看全部操作把()里的东西删掉就行
use local
db.oplog.rs.find({"op": "d"})
从而定位了到底什么时候删的数据。
这里面"d"代表delete,可以改为别的查看插入等操作。
这就尴尬了,为了大家省事把密码去了,反正是内部库,但是还是避免不了误操作。加入权限管理不可避免的涉及到权限的修改,于是:
#修改密码
db.changeUserPassword("user", "passwd")
#添加权限
db.grantRolesToUser("user", [{role: "readWrite", db: "db"}])
#删除权限
db.revokeRolesFromUser("user", [{role: "readWrite", db: "db"}])