thumb
お墓のこと全般、お任せください!




※自己責任で

MongoDBのレプリカセット「A(PRIMARY)」「B」「C」「D」を例に取る。

【やりたいこと】一旦Dをremoveし、新たなレプリカセットを構築。

# Aのmongoで実施
rs.conf()
remove("Dのhost:Dのport")

その後、D持ってるデータを引き継いで別の新規レプリカセットを構築する際、エラーが発生することがある。

どうすれば良いか。D側のlocal DBを削除する(最終手段)

rm -rf [フルパス]/mongo/local/*

その後、rs.statusすると「Not Initialize」(うる覚え)と出るのでレプリカセット構築可能の合図。

もしABCのMongoDBのレプリカセットメンバーに改めて戻したい場合は

mongoストップ⇒Dのmongo配下を全削除⇒再起動⇒A(PRIMARY)側でrs.add("Dのhost:Dのport")で追加すれば完了。実に簡単。

※ここではlocalの削除も行われているので、簡単にメンバーに戻すことができる

めでたしめでたし

おすすめの記事