Ta bort alla sekundära värdar från replikuppsättningen (rs.remove('host:port')), starta om mongo-deamonen utan replSet-parameter (redigerar /etc/mongo.conf) och de sekundära värdarna startar i fristående läge igen.
Den primära värden är knepig, eftersom du inte kan ta bort den från replikuppsättningen med rs.remove. När du bara har den primära noden i replikuppsättningen bör du avsluta mongo-skalet och stoppa mongo. Sedan redigerar du /etc/mongo.conf och tar bort parametern replSet och startar mongo igen. När du väl startar mongo är du redan i fristående läge, men mongoskalet kommer att få ett meddelande som:
2015-07-31T12:02:51.112+0100 [initandlisten] ** VARNING:mongod startade utan --replSet ännu finns 1 dokument i local.system.replset
för att ta bort varningen kan du göra två procedurer:1) Ta bort den lokala db och starta om mongo:
use local
db.dropDatabase();
/etc/init.d/mongod restart
2)Eller om du inte vill vara så radikal kan du göra:
use local
db.system.replset.find()
och det kommer att fråga ett meddelande som:
{ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] }
då kommer du att radera den med:
db.system.replset.remove({ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] })
och det kommer förmodligen att fråga:
WriteResult({ "nRemoved" : 1 })
Nu kan du starta om mongon och varningen bör vara borta, och du kommer att ha din mongo i fristående läge utan varningar