MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Настройката на Mongo docker е повредена след рестартиране (unifi контролер на raspberry pi)

Имате повреден файл с данни от нечистото демонтиране на диска по време на изключването. Дори ако възстановите базата данни, пак можете да се сблъскате с проблеми поради несъответствие на ключовете в базата данни. Следва процедура за правилно справяне с тези проблеми

Възстановяване на MongoDB от внезапна повреда

  1. Ако файловете на базата данни са на вашия хост, направете копие от тях, преди да започнете тази процедура. За да ги копирате, можете да използвате

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

    Ако файловете на базата данни все още са вътре в контейнера, вземете външната страна на контейнера и направете копие

  2. Стартирайте контейнер за поправка върху файловете, както следва:

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

    Името на изображението зависи от платформата и за Raspberry PI3 името е andresvidal/rpi3-mongodb3 , за arm64v8 или за amd64 контейнерът е mongo

    Уверете се, че имате същата версия на изображението на MongoDB като използваното за създаване на файловете с данни.

    Ако файловете са непоправими, опитайте:

    docker run -it -v <data folder>:/data/db mongo:<image-version> mongodump --repair --dbpath /data/db
    
  3. След като файловете бъдат поправени, трябва да стартирате контейнер над базата данни и да експортирате файловете с

    docker run -it -v <data folder>:/data/db mongo:<image-version> mongodump --dbpath /data/db
    
  4. Стартирайте чиста база данни за вашия проект и използвайте mongorestore за импортиране на данните в новата база данни.

Можете да проверите следните връзки за повече информация:



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Време за изчакване за MongoConnection

  2. ClusterControl - Разширено управление на архивиране - MongoDB

  3. Какви са недостатъците на съхраняването на Guid като String в MongoDB?

  4. ГРЕШКА:дъщерен процес е неуспешен, излязъл е с грешка номер 48

  5. Как да получа db.currentOp() от C# драйвер - mongodb