日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongo oplog 整理

發布時間:2024/4/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongo oplog 整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先需要介紹一下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

轉載于:https://www.cnblogs.com/leochenliang/p/8716440.html

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的mongo oplog 整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。