MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Lệnh sửa chữa MongoDB không thành công

Nếu mongod với việc sửa chữa không được thực hiện, thì nó đang rơi vào mức độ hỏng hóc mà nó không thể sửa chữa hoặc hoạt động xung quanh điều kiện có một bộ tệp cơ sở dữ liệu hợp lệ và chính xác để khởi động.

Bạn có thể chạy mongodump có sửa chữa , mang tính tích cực hơn về việc cố gắng giải quyết vấn đề tham nhũng và không khởi động mongod ví dụ (do đó không yêu cầu các tệp phải chính xác để tiếp tục).

mongodump --repair --dbpath /var/lib/mongodb/ <other options here>

Tuy nhiên, hãy lưu ý rằng do cách nó cố gắng định tuyến xung quanh sự cố, bạn có thể kết thúc với nhiều bản sao của một tài liệu. Với cách mongorestore hoạt động, đây không phải là một vấn đề, nhưng tùy thuộc vào mức độ tham nhũng, bạn có thể kết thúc với các tệp kết xuất lớn hơn nhiều so với mong đợi. Trong một trường hợp cực kỳ nghiêm trọng, tôi đã từng thấy dữ liệu 10x được tạo ra, mặc dù đó là ngoại lệ chứ không phải là quy tắc.

Khi bạn đã hoàn thành mọi thứ theo ý muốn của mình, hãy bắt đầu mongod làm sạch và nhập lại để trở lại trạng thái tốt.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Khi nào tôi nên mở và đóng kết nối MongoDB?

  2. Cách lấy giá trị từ tài liệu MongoDB

  3. Làm cách nào để tôi có thể quảng bá trình điều khiển Javascript gốc MongoDB bằng bluebird?

  4. Di chuyển từ MongoDB sang Ứng dụng PostgreSQL Groovy

  5. Kho lưu trữ và kế thừa Spring-data mongodb