千家信息网

MongoDB如何查oplog.rs集合里的操作日志

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,首先需要介绍一下mongodb local库的作用local库是MongoDB的系统库,记录着时间戳和索引和复制集等信息test:PRIMARY> use localswitched to db lo
千家信息网最后更新 2026年11月01日MongoDB如何查oplog.rs集合里的操作日志首先需要介绍一下mongodb local库的作用
local库是MongoDB的系统库,记录着时间戳和索引和复制集等信息


test:PRIMARY> use local
switched to db local


test:PRIMARY> show tables;
system.replset
me
startup_log
replset.minvalid
oplog.rs
replset.election
test:PRIMARY>


local库下的每个集合分别记录的内容


local库下面的me集合保存了服务器名称


local库下面的replset.minvalid集合保存了数据库最新操作的时间戳


local库下面的startup_log集合记录这mongod每一次的启动信息


local库下面的system.indexes集合记录当前库的所有索引信息


local库下面的system.replset记录着复制集的成员配置信息rs.conf()读取这个集合


local库下面的oplog.rs集合记录着所有操作,MongoDB就是通过oplog.rs来实现数据同步的。当Primary节点插入一条数据后,oplog.rs集合中就会多一条记录




op:操作类型,插入对应i;更新对应u;删除对应d;但有一种情况是n,它表示无操作(no-op),紧紧代表一个消息信息。
例如:
查询oplog里的insert记录,对应op为i的记录:
test:PRIMARY> db.oplog.rs.find({"op" : "i"}).pretty().limit(3)


查update操作命令:
test:PRIMARY> db.oplog.rs.find({"op" : "u"}).pretty().limit(3)
test:PRIMARY>
查delete操作命令:
test:PRIMARY> db.oplog.rs.find({"op" : "d"}).pretty().limit(3)




根据时间范围查操作:
例如:
查找2017年9月1日之后的操作记录:
test:PRIMARY> db.oplog.rs.find({"o.createTime": {$gte:new Date(2017,9,1)}}).limit(3)




查2017年9月1日到10月31日之间的操作记录:
test:PRIMARY> db.oplog.rs.find({"o.createTime": {$gte:new Date(2017,9,1),$lte:new Date(2017,10,31)}}).limit(3)


我们查查对chenfeng表进行操作的所有的 oplog 记录
test:PRIMARY> db.oplog.rs.find({ns : "testdb.chenfeng"})


查操作的时间戳:
db.oplog.rs.find({"op" : "i","ns" : "testdb.chenfeng",},{ts:1}).pretty()
{ "ts" : Timestamp(1509246747, 1) }
{ "ts" : Timestamp(1509246747, 2) }
{ "ts" : Timestamp(1509246747, 3) }
{ "ts" : Timestamp(1509246747, 4) }
{ "ts" : Timestamp(1509246747, 5) }




当前操作时间点的时间戳:
test:PRIMARY> rs.status().members[0].optime.ts
Timestamp(1509247609, 3001)




如何备份oplog集合:
[root@192 new]# mongodump --host localhost --port 9336 -uadmin -padmin --authenticationDatabase=admin -d local -c oplog.rs -o /root/new
2017-10-29T12:36:45.605+0800 writing local.oplog.rs to local/oplog.rs.bson
2017-10-29T12:36:48.606+0800 [#.......................] local.oplog.rs 398917/4937240 (8.1%)
2017-10-29T12:36:51.610+0800 [###.....................] local.oplog.rs 812569/4937240 (16.5%)
2017-10-29T12:36:54.611+0800 [#####...................] local.oplog.rs 1208741/4937240 (24.5%)
2017-10-29T12:36:57.607+0800 [#######.................] local.oplog.rs 1570342/4937240 (31.8%)
2017-10-29T12:37:00.617+0800 [#########...............] local.oplog.rs 1948323/4937240 (39.5%)
2017-10-29T12:37:03.606+0800 [###########.............] local.oplog.rs 2346269/4937240 (47.5%)
2017-10-29T12:37:06.606+0800 [#############...........] local.oplog.rs 2741569/4937240 (55.5%)
2017-10-29T12:37:09.609+0800 [###############.........] local.oplog.rs 3137392/4937240 (63.5%)
2017-10-29T12:37:12.606+0800 [#################.......] local.oplog.rs 3533685/4937240 (71.6%)
2017-10-29T12:37:15.610+0800 [##################......] local.oplog.rs 3897290/4937240 (78.9%)
2017-10-29T12:37:19.672+0800 [###################.....] local.oplog.rs 3947430/4937240 (80.0%)
2017-10-29T12:37:21.609+0800 [####################....] local.oplog.rs 4147978/4937240 (84.0%)
2017-10-29T12:37:24.607+0800 [#####################...] local.oplog.rs 4518546/4937240 (91.5%)
2017-10-29T12:37:27.606+0800 [#######################.] local.oplog.rs 4910376/4937240 (99.5%)
2017-10-29T12:37:27.758+0800 writing local.oplog.rs metadata to local/oplog.rs.metadata.json
2017-10-29T12:37:27.770+0800 done dumping local.oplog.rs (4937240 documents)


用bsondump查操作记录:
查插入操作:
# bsondump oplog.rs.bson | grep "\"op\":\"i\"" | head




查删除操作:
# bsondump oplog.rs.bson | grep "\"op\":\"d\"" | head


查更新操作:
[root@192 local]# bsondump oplog.rs.bson | grep "\"op\":\"u\"" | head




恢复oplog集合命令:
mongorestore --host localhost --port 9336 -uadmin -padmin --authenticationDatabase=admin -d local -c oplog.rs /root/new/local/oplog.rs.bson
时间 面的 信息 命令 数据 索引 更新 之间 代表 作用 内容 名称 备份 就是 情况 成员 数据库 日到 服务器 消息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 互联网电商科技 互联网科技集团 丰台科技园 互联网公司 互联网科技素材视频竖屏 互联网巨头投资的硬核科技 汉立互联网科技有限公司联系电话 科技与互联网的利与弊 中国互联网有什么科技含量 成都互联网科技公司100强 南山科技园互联网公司有哪些 知域互联网科技有限公司大骗子 青海科技产业互联网发展 乌苏新华互联网科技做什么的 浙南科技城互联网大厦建设工程 佛山市翊博互联网络科技有限公司 翼展科技 首家互联网医院 明优互联网科技有限公司 云南省自由互联网科技有限公司 互联网科技博主张洲 互联网科技财经 互联网 科技 齐家互联网科技有限公司 老年人脱离互联网科技的作文 北京华百购互联网科技有限公司 威龙国际互联网科技公司 无锡工业互联网科技有限公司 互联网方面的科技前沿 科技和互联网行业的特点 现代科技的标志之一的互联网
0