Ho solo questo problema in produzione. Il commento di @maganap (15 marzo) mi ha salvato la pancetta!
Usando mongodb 3.2.10, non è necessario eseguire il dump dell'oplog, basta farlo sul primo membro:
use local
db.system.replset.remove({})
Quindi riavviare il membro. Ora avrà ancora il suo oplog e i suoi dati. Basta eseguire:
rs.initiate()
rs.reconfig(conf)
Dove conf è il nuovo conf. Quindi su ciascuno degli altri membri, esegui semplicemente il trashing dei dati replset sopra e riavviali. Quando inizieranno si uniranno al set.
Tutto dipende da qual è il tuo obiettivo. Se vuoi riutilizzare il mongod
esistente come server autonomo anziché come membro di un set di repliche, i passaggi per farlo sarebbero:
- Riavvia il processo mongod senza
--replSet
argomento. -
Elimina il database locale:
use local; db.dropDatabase();