Ich habe dieses Problem nur in der Produktion. Der Kommentar von @maganap (15. März) hat meinen Speck gerettet!
Wenn Sie Mongodb 3.2.10 verwenden, müssen Sie den Oplog nicht ausgeben, tun Sie dies einfach für das erste Mitglied:
use local
db.system.replset.remove({})
Starten Sie dann das Mitglied neu. Es wird jetzt immer noch sein Oplog und seine Daten haben. Führen Sie einfach Folgendes aus:
rs.initiate()
rs.reconfig(conf)
Wobei conf die neue conf ist. Führen Sie dann auf jedem der anderen Mitglieder einfach das Löschen der Replset-Daten oben aus und starten Sie sie neu. Wenn sie anfangen, werden sie dem Set beitreten.
Es hängt alles davon ab, was Ihr Ziel ist. Wenn Sie den vorhandenen mongod
wiederverwenden möchten als eigenständiger Server und nicht als Replikatgruppenmitglied, dann wären die Schritte dazu:
- Mongod-Prozess ohne
--replSet
neu starten Argument. -
Löschen Sie die lokale Datenbank:
use local; db.dropDatabase();