2013-05-28 101 views
15

在MongoDB Shell中啓動副本集的命令是rs.initiate()。停止副本集MongoDB

這個命令的反面是什麼。如何停止副本集?

有一些命令可以重新配置設置或刪除成員,但不知道如何刪除最後一個成員並因此銷燬副本集。

+1

最常見的方法是停止'mongod',因爲您必須重新啓動沒有副本選項的'mongod'才能實際阻止它嘗試使用副本集。 – Sammaye

+0

當我在做這件事後啓動mongo時,它給了我這個警告:「警告:mongod啓動時沒有--replSet,但1個文件存在於local.system.replset中」。我如何清理它? –

+0

相關問題:http://stackoverflow.com/q/10953752/490018 –

回答

33

這一切都取決於你的目標是什麼。如果你想重用現有的mongod作爲獨立的服務器,而不是一個副本集成員,那麼步驟做,這將是:

  1. 重啓mongod的過程中沒有--replSet說法。
  2. 掉落本地數據庫:

    use local; 
    db.dropDatabase(); 
    
+0

非常感謝你的工作。 –

+0

「errmsg」:「在複製處於活動狀態時無法刪除」本地「數據庫」 – alexserver

+1

必須在沒有--replSet標誌的情況下重新啓動服務器,然後才能刪除本地。 –

0

1)轉到通過以下命令MONGO輔助服務器

2)停止輔助服務器殼:

使用管理員分貝.shutdownServer()

2]轉到Linux shell - 在輔助服務器上並鍵入以下命令:

須藤服務的mongod停止

欲瞭解更多信息,請檢查下面的鏈接:

http://www.learnit.net.in/2016/03/stopping-and-starting-mongodb.html

2

我只是有這個問題的產生。 @ maganap的(3月15日)評論保存了我的培根!

使用MongoDB的3.2.10,沒必要轉儲OPLOG,只是這樣做的第一個成員:

use local 
db.system.replset.remove({}) 

然後重啓成員。它現在仍然有oplog,它是數據。剛剛運行:

rs.initiate() 
rs.reconfig(conf) 

其中conf是新conf。然後在其他每個成員上面,運行上面的replset數據的廢除並重新啓動它們。當他們開始時,他們會加入這個組合。