Премахнете всички вторични хостове от набора от реплики (rs.remove('host:port')), рестартирайте mongo deamon без параметър replSet (редактиране /etc/mongo.conf) и вторичните хостове стартират отново в самостоятелен режим.
Първичният хост е труден, защото не можете да го премахнете от набора реплики с rs.remove. След като имате само основния възел в набора от реплики, трябва да излезете от mongo shell и да спрете mongo. След това редактирате /etc/mongo.conf и премахвате параметъра replSet и стартирате mongo отново. След като стартирате mongo, вече сте в самостоятелен режим, но обвивката на mongo ще изведе съобщение като:
2015-07-31T12:02:51.112+0100 [initandlisten] ** ПРЕДУПРЕЖДЕНИЕ:mongod стартира без --replSet, но в local.system.replset има 1 документ
за да премахнете предупреждението, можете да направите 2 процедури:1) Изтриване на локалния db и рестартиране на mongo:
use local
db.dropDatabase();
/etc/init.d/mongod restart
2)Или ако не искате да сте толкова радикални, можете да направите:
use local
db.system.replset.find()
и ще изведе съобщение като:
{ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] }
след това ще го изтриете с помощта на:
db.system.replset.remove({ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] })
и вероятно ще подкани:
WriteResult({ "nRemoved" : 1 })
Сега можете да рестартирате монгото и предупреждението трябва да изчезне и вашето монго ще бъде в самостоятелен режим без предупреждения