mongodb修改oplog大小
將主庫降級成備庫
rs.stepDown()
關閉資料庫
db.shutdownServer()
以單機模式啟動
mongod --port 9999 --dbpath /opt/mongo/data
備份當前oplog(可選)
[root@db11 mongo]# mongodump --db local --collection 'oplog.rs' --port 9999
mongodump: /usr/lib64/libcrypto.so.10: no version information available (required by mongodump)
mongodump: /usr/lib64/libssl.so.10: no version information available (required by mongodump)
2015-03-17T16:25:46.210+0800 writing local.oplog.rs to dump/local/oplog.rs.bson
2015-03-17T16:25:46.211+0800 writing local.oplog.rs metadata to dump/local/oplog.rs.metadata.json
2015-03-17T16:25:46.212+0800 done dumping local.oplog.rs
mongodump: /usr/lib64/libcrypto.so.10: no version information available (required by mongodump)
mongodump: /usr/lib64/libssl.so.10: no version information available (required by mongodump)
2015-03-17T16:25:46.210+0800 writing local.oplog.rs to dump/local/oplog.rs.bson
2015-03-17T16:25:46.211+0800 writing local.oplog.rs metadata to dump/local/oplog.rs.metadata.json
2015-03-17T16:25:46.212+0800 done dumping local.oplog.rs
登陸資料庫
> use local
switched to db local
> db = db.getSiblingDB('local')
local
switched to db local
> db = db.getSiblingDB('local')
local
下面操作是向temp裡存入oplog的最後一行
> db.temp.drop()
false
> db.temp.save( db.oplog.rs.find( { }, { ts: 1, h: 1 } ).sort( {$natural : -1} ).limit(1).next() )
WriteResult({ "nInserted" : 1 })
> db.temp.find()
{ "_id" : ObjectId("5507e88db747b826f8608222"), "ts" : Timestamp(1426578920, 1), "h" : NumberLong("6594803502965050820") }
false
> db.temp.save( db.oplog.rs.find( { }, { ts: 1, h: 1 } ).sort( {$natural : -1} ).limit(1).next() )
WriteResult({ "nInserted" : 1 })
> db.temp.find()
{ "_id" : ObjectId("5507e88db747b826f8608222"), "ts" : Timestamp(1426578920, 1), "h" : NumberLong("6594803502965050820") }
移除現有oplog
> db = db.getSiblingDB('local')
local
> db.oplog.rs.drop()
true
建立新的oplog
> db.runCommand( { create: "oplog.rs", capped: true, size: (20 * 1024 * 1024 ) } )
{ "ok" : 1 }
把之前oplog的最後一行存入新的oplog
> db.oplog.rs.save( db.temp.findOne() )
WriteResult({
"nMatched" : 0,
"nUpserted" : 1,
"nModified" : 0,
"_id" : ObjectId("5507e88db747b826f8608222")
})
dbdb.oplog.rs.find()
{ "_id" : ObjectId("5507e88db747b826f8608222"), "ts" : Timestamp(1426578920, 1), "h" : NumberLong("6594803502965050820") }
重啟資料庫,加入複製集
> use admin
switched to db admin
> db.shutdownServer()
> db = db.getSiblingDB('local')
local
> db.oplog.rs.drop()
true
建立新的oplog
> db.runCommand( { create: "oplog.rs", capped: true, size: (20 * 1024 * 1024 ) } )
{ "ok" : 1 }
把之前oplog的最後一行存入新的oplog
> db.oplog.rs.save( db.temp.findOne() )
WriteResult({
"nMatched" : 0,
"nUpserted" : 1,
"nModified" : 0,
"_id" : ObjectId("5507e88db747b826f8608222")
})
dbdb.oplog.rs.find()
{ "_id" : ObjectId("5507e88db747b826f8608222"), "ts" : Timestamp(1426578920, 1), "h" : NumberLong("6594803502965050820") }
重啟資料庫,加入複製集
> use admin
switched to db admin
> db.shutdownServer()
nohup mongod -f mongo.conf &
將當前主庫降為備庫
rs0:PRIMARY> rs.stepDown()
2015-03-17T16:45:00.108+0800 I NETWORK DBClientCursor::init call() failed
2015-03-17T16:45:00.129+0800 E QUERY Error: error doing query: failed
at DBQuery._exec (src/mongo/shell/query.js:83:36)
at DBQuery.hasNext (src/mongo/shell/query.js:240:10)
at DBCollection.findOne (src/mongo/shell/collection.js:186:19)
at DB.runCommand (src/mongo/shell/db.js:58:41)
at DB.adminCommand (src/mongo/shell/db.js:66:41)
at Function.rs.stepDown (src/mongo/shell/utils.js:1001:43)
at (shell):1:4 at src/mongo/shell/query.js:83
2015-03-17T16:45:00.135+0800 I NETWORK trying reconnect to 127.0.0.1:4001 (127.0.0.1) failed
2015-03-17T16:45:00.136+0800 I NETWORK reconnect 127.0.0.1:4001 (127.0.0.1) ok
2015-03-17T16:45:00.108+0800 I NETWORK DBClientCursor::init call() failed
2015-03-17T16:45:00.129+0800 E QUERY Error: error doing query: failed
at DBQuery._exec (src/mongo/shell/query.js:83:36)
at DBQuery.hasNext (src/mongo/shell/query.js:240:10)
at DBCollection.findOne (src/mongo/shell/collection.js:186:19)
at DB.runCommand (src/mongo/shell/db.js:58:41)
at DB.adminCommand (src/mongo/shell/db.js:66:41)
at Function.rs.stepDown (src/mongo/shell/utils.js:1001:43)
at (shell):1:4 at src/mongo/shell/query.js:83
2015-03-17T16:45:00.135+0800 I NETWORK trying reconnect to 127.0.0.1:4001 (127.0.0.1) failed
2015-03-17T16:45:00.136+0800 I NETWORK reconnect 127.0.0.1:4001 (127.0.0.1) ok
rs0:SECONDARY>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26239116/viewspace-1485431/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MongoDB更改oplog大小MongoDB
- MongoDB單機開啟oplogMongoDB
- MongoDB Oplog中的欄位介紹MongoDB
- mongodb線上調整Oplog Size的值MongoDB
- mongodb 基於oplog的時間點恢復MongoDB
- MongoDB案例分享:如何使用oplog恢復資料MongoDB
- mongodb使用備份後的oplog做時間點恢復MongoDB
- mongodb如何不區分大小寫MongoDB
- 剖析後OpLog訂閱MongoDB的資料變更就沒那麼難了MongoDB
- Android中TabLayout修改字型大小AndroidTabLayout
- Spring tool suite修改字型大小SpringUI
- Pypycharm修改程式碼字型大小及修改顏色PyCharm
- mongodb異機做時間點恢復(基於時間範圍查詢匯出oplog)MongoDB
- 微信小程式修改switch元件大小微信小程式元件
- 修改SVG圖片的大小和顏色SVG
- MongoDB Sharding ChunkSize大小選擇優缺點介紹MongoDB
- 監聽視窗大小改變,同時根據視窗大小修改某個元素的大小
- git提交時支援檔名大小寫的修改Git
- 修改Kali Linux終端歷史記錄大小Linux
- MySQL 5.6修改REDO日誌的大小和個數MySql
- 修改WebLogic中Managed Server及Admin Server JVM大小 [final]WebServerJVM
- 如何使用極狐GitLab Runner 修改日誌大小限制Gitlab
- 前端如何修改svg圖示大小和平移位置前端SVG
- 如何使用「預覽」修改照片尺寸大小的技巧分享
- SpringBoot高階篇MongoDB之修改基本使用姿勢Spring BootMongoDB
- 如何修改matplotlib的圖例的標題的字型大小
- 大量影片尺寸大小批次修改的簡單步驟
- 修改SharePoint上傳檔案大小限制(Changing Maximum Upload Size)
- cursor修改左側資源管理器文字大小
- MongoDB 資料庫安全之使用者密碼修改MongoDB資料庫密碼
- win10系統如何修改桌面圖示大小【圖文】Win10
- MySQL 修改InnoDB重做日誌檔案的數量或大小MySql
- win10字型大小怎麼調 win10系統修改字型大小方法介紹Win10
- linux查詢某段時間修改的檔案的總大小Linux
- 修改/dev/shm大小造成Oracle 12c叢集啟動故障devOracle
- 搭建自己的直播平臺,修改cell刪除按鈕字型大小
- win7怎麼修改桌面圖示大小 win7桌面圖示大小調整方法介紹Win7
- MongoDB 刪除,新增副本集,並修改副本集IP等資訊MongoDB
- 直播系統原始碼,修改ToolBar的標題的字型顏色大小原始碼