sql >> Databáze >  >> NoSQL >> MongoDB

Replika MongoDB nenastavila žádné primární, je třeba vynutit nové primární

1. Převeďte všechny uzly na samostatné.

Zastavte démona mongod a upravte /etc/mongod.conf komentovat replSet možnost.

Spusťte mongodského démona.

2. Použijte mongodump zálohovat data pro všechny uzly.

Reference z mongo docs:

https://docs.mongodb.com/manual/reference/program/mongodump/

3. Přihlaste se do každého uzlu a přetáhněte local databáze.

Tím se odstraní konfigurace sady replik na uzlu.

Nebo můžete jednoduše smazat záznam v kolekci system.replset v místní databázi, jak je řečeno zde:

https://stackoverflow.com/a/31745150/4242454

4. Spusťte všechny uzly pomocí replSet možnost.

5. Na předchozím datovém uzlu (nikoli arbitr) inicializujte novou sadu replik.

6. Nakonec překonfigurujte sadu replik pomocí rs.reconfig .




  1. Vlastnost objektu MongoDB $existuje ve vnořeném poli

  2. Elem match vrací všechna data, zatímco já potřebuji pouze vybraná data

  3. Jedinečné dokumenty v kolekci MongoDB

  4. mongodb:dotaz find() v kolekci