GNU/Linux >> Znalost Linux >  >> Linux

Nelze spustit mongodb jako službu - Výjimka; Kolekce nemá UUID v KVCatalog

Problém lze vyřešit:

  1. Zálohování všech databází (pomocí mongodump )
  2. Odstranění všech souborů v /data/db , kvůli jejich nekompatibilitě s novější verzí:rm -rf /data/db/*
  3. Restartování služby MongoDB
  4. Obnovení všech databází (pomocí mongorestore )

Při upgradu ze starého mongodb 3.4 na 4.2 jsem se setkal s podobným problémem s admin db.

Řešením je mongodumpovat všechny dbs a smazat /var/lib/mongodb a poté mongorestore všechny dbs zpět.

STORAGE  [initandlisten] exception in initAndListen: MustDowngrade: Collection does not have UUID in KVCatalog. Collection: admin.system.users, terminating
2019-09-24T21:59:55.274+0000 I  NETWORK  [initandlisten] shutdown: going to close listening sockets...
2019-09-24T21:59:55.274+0000 I  NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2019-09-24T21:59:55.274+0000 I  -        [initandlisten] Stopping further Flow Control ticket acquisitions.
2019-09-24T21:59:55.274+0000 I  CONTROL  [initandlisten] now exiting
2019-09-24T21:59:55.274+0000 I  CONTROL  [initandlisten] shutting down with code:100

Příčina problému:mongodb 4.2 přidá userId s hodnotou UUID do kolekce system.user. Doufám, že to pomůže.

Při upgradu jiné mongo db jsem na startup_log narazil na úplně stejný problém jako vy, zdá se, že jsem nezastavil mongodb při odstranění složky /var/lib/mongodb, po zastavení mongoda a odstranění /var/lib/mongodb a upgradu do 4.2, chyba zmizí.


Linux
  1. Jak se program rozhodne, zda bude či nebude mít barevný výstup?

  2. Server Vino Vnc nelze spustit při spuštění?

  3. Nelze spustit službu Nagios (CentOS/RHEL)

  1. Jaký je správný způsob, jak spustit službu mongod na linux / OS X?

  2. emulátor androidu se nespustí, avd

  3. Služba MongoDB se po počátečním nastavení nespustí

  1. wc -l NEpočítá poslední soubor, pokud nemá znak konce řádku

  2. Nelze spustit službu postgresql na CentOS 7

  3. Spusťte Ubuntu 16.04 do příkazového řádku / nespouštějte GUI