MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Konfiguracja dokera Mongo zepsuta po restarcie (kontroler unifi na raspberry pi)

Masz uszkodzenie pliku danych z powodu nieczystego odmontowania dysku podczas zamykania. Nawet jeśli przywrócisz bazę danych, nadal możesz napotkać problemy z powodu niespójności kluczy w bazie danych. Poniżej znajduje się procedura prawidłowego rozwiązania tego problemu

Odzyskiwanie MongoDB po nagłej awarii

  1. Jeśli pliki bazy danych znajdują się na twoim hoście, wykonaj ich kopię przed rozpoczęciem tej procedury. Aby je skopiować, możesz użyć

    docker cp <container_name>:<location of files in container> <location on host>
    

    Jeśli pliki bazy danych nadal znajdują się w kontenerze, wyjmij je poza kontener i zrób kopię

  2. Uruchom kontener naprawy nad plikami w następujący sposób:

    docker run -it -v <data folder>:/data/db <image name>:<image-version> mongod --repair
    

    Nazwa obrazu zależy od platformy, a dla Raspberry PI3 nazwa to andresvidal/rpi3-mongodb3 , dla arm64v8 lub amd64 kontener to mongo

    Upewnij się, że masz tę samą wersję obrazu MongoDB, która została użyta do utworzenia plików danych.

    Jeśli plików nie da się naprawić, spróbuj:

    docker run -it -v <data folder>:/data/db mongo:<image-version> mongodump --repair --dbpath /data/db
    
  3. Po naprawieniu plików musisz uruchomić kontener w bazie danych i wyeksportować pliki za pomocą

    docker run -it -v <data folder>:/data/db mongo:<image-version> mongodump --dbpath /data/db
    
  4. Uruchom czystą bazę danych dla swojego projektu i użyj mongorestore aby zaimportować dane do nowej bazy danych.

Możesz sprawdzić następujące linki, aby uzyskać więcej informacji:



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak porównać dwa ciągi w wiosennych danych mongoDB?

  2. $przeglądać wiele poziomów bez $unwind?

  3. Seryjne iterowanie po kursorze mongodb (oczekiwanie na wywołania zwrotne przed przejściem do następnego dokumentu)

  4. Azure Function z integracją Cosmos MongoDB nie oszczędza

  5. Indeks w polu ts w oplog.rs nie jest aktualizowany