Ich habe einen MongoDB-Client in drei EC2-Instanzen und ich habe einen Replikat-Satz erstellt. Das letzte Mal hatte ich ein Problem, von Speicherplatz constraint, die mein mongod Prozess gestoppt, wodurch die Anwendung und jetzt in einer Instanz vor ein paar Tagen zurück, einige meiner Tabellen wurden aus der Datenbank, so dass ich Protokollierung und alle auf meine Datenbank nur um fangen Sie an, wenn so etwas wieder passiert. Bei einem frischen Vorfall an diesem Morgen konnte ich mich nicht in mein System einloggen und da habe ich herausgefunden, dass die ganze Datenbank leer war. Ich überprüfte andere SO Fragen wie this, die vorschlagen, eine TTL.Which habe ich überhaupt nicht getan.
Nun, wie kann ich diese Situation debuggen und eine ordnungsgemäße Ursachenanalyse durchführen? Ich kann nicht einmal etwas in meinen Debug-Logs finden. Die Tische sind einfach verschwunden. Wie richte ich einen ordnungsgemäßen Protokollierungsmechanismus ein und wie stelle ich sicher, dass nie alle meine Tabellen jemals wieder gelöscht werden?Warum wird meine mongodb-Sammlung automatisch gelöscht?
Antwort
Heute habe ich eine E-Mail von Amazon bekommen, dass ich wahrscheinlich eine ungesicherte Version von MongoDB laufen habe und das könnte dieses Problem verursacht haben. Wer immer dieses Problem angeht, bitte gehen Sie durch die Security Checklist Provided by MongoDB. Es gibt einige Punkte, die unbedingt notwendig sind.
1. Access Control aktivieren und Erzwingen Authentifizierung
2. Verschlüsseln Kommunikation
3. Begrenzen Netzwerk Exposure
Diese drei sind der Kern und je nachdem, wie viele Menschen Ihre Datenbank Sie Configure Role-Based Access Control
zugreifen können.
Das sind alles, was ich getan habe. Vor diesem Vorfall hatte ich die Sicherheit nicht so ernst genommen, aber nachdem ich davon getroffen wurde. Ich habe dafür gesorgt, dass ich alle notwendigen Vorkehrungen getroffen habe. Hoffe, das hilft jemandem.
- 1. PHP-Datei wird automatisch gelöscht
- 2. Warum wird meine SQLite-Datenbank gelöscht, wenn sie geändert wird?
- 3. Warum werden meine Textfelder gelöscht?
- 4. WPF PasswordBox wird automatisch gelöscht, wenn Fokus verschoben wird
- 5. Wie wird automatisch alle x Minuten gelöscht?
- 6. Wie wird der Volley-Cache automatisch gelöscht?
- 7. Iphone lokalen Speicher wird automatisch gelöscht
- 8. MongoDB-Datenbank automatisch gelöscht
- 9. Meine php-Datei automatisch gelöscht von c-Panel
- 10. Warum wird meine Chrome App im Kioskmodus nicht automatisch aktualisiert?
- 11. Warum wird meine SQL Transaction-Protokolldatei nicht automatisch vergrößert?
- 12. Warum wird mein abgeleiteter Klassenkonstruktor gelöscht?
- 13. Warum wird mein Token nicht gelöscht?
- 14. Warum wird mein listView nicht gelöscht?
- 15. Menüpunkte werden automatisch gelöscht #wordpress
- 16. Warum wird mein ASP.NET-Cache weiterhin gelöscht?
- 17. Warum wird mein JQuery Autocomplete manuell gelöscht?
- 18. Warum wird JUnit TemporaryFolder nicht gelöscht?
- 19. Warum wird mein Python-Skript zufällig gelöscht?
- 20. Warum werden meine JPanel-Komponenten automatisch ausgefüllt?
- 21. Wie wird die älteste SQL Server-Datenbank automatisch gelöscht?
- 22. Temp-Datei wird beim Beenden nicht gelöscht - warum ist das?
- 23. Warum pm2 löschvorgang automatisch?
- 24. Connect-Mongo-Sitzungen werden nicht automatisch gelöscht
- 25. Warum wird meine Pufferlänge ignoriert?
- 26. Warum wird meine Druckfunktion verzögert?
- 27. Warum wird meine Klassenerstellung übersprungen?
- 28. Warum wird meine Überleitung durchgeführt?
- 29. Warum wird mein Konto automatisch abgemeldet?
- 30. Warum MVC Sweet Alert wird automatisch geschlossen?
das ist seltsam - fast identische Frage hier - http://StackOverflow.com/Questions/41519988/mongodb-collections-unexpected-Deletion-Drop/41520214#41520214 – Alex
Yeah ... Ich werde bald in Produktion gehen. So etwas kann nicht passieren. Ich habe deine Antwort gelesen. Könnte es nicht so sein, dass mongo die Datenbank wegen Speichermangel entfernt hat? –
Nein, es würde nicht nur zufällig Sammlungen löschen - das wäre eine wirklich schlechte Sache zu tun (was es nicht tut) - definitiv versehentliches Löschen – Alex