MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

रीबूट के बाद टूटा हुआ मोंगो डॉकर सेटअप (रास्पबेरी पीआई पर यूनिफी नियंत्रक)

आपके पास शटडाउन के दौरान डिस्क के अशुद्ध डिस्माउंट से डेटाफ़ाइल दूषण है। यदि आप डेटाबेस को पुनर्स्थापित करते हैं, तब भी आप डेटाबेस में कुंजियों की असंगति के कारण समस्याओं का सामना कर सकते हैं। निम्नलिखित एक प्रक्रिया है जो इस मुद्दे को ठीक से संबोधित करती है

अचानक विफलता से 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
    

    छवि का नाम प्लेटफ़ॉर्म पर निर्भर करता है, और रास्पबेरी 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. मोंगोडीबी/मोंगोइड और रेल 3 के साथ डेटटाइम पॉप्युलेट नहीं कर रहा है

  2. मोंगोडीबी में पाइमोंगो के माध्यम से रिकॉर्ड अपडेट करने से उनमें से अधिकांश को हटा दिया जाता है

  3. सभी उपदस्तावेजों को कैसे क्वेरी करें

  4. MongoDB C# ड्राइवर का उपयोग करना:लपेटा या अन-लिपटा?

  5. एक समारोह के लिए एक तर्क के रूप में नेवला पारित करना