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.