Ich habe die Kommunikation in mongoDB erfolgreich verschlüsselt, aber wenn ich versuche, die Datenverschlüsselung zu aktivieren, erhalte ich Fehler. Ich verwende die Enterprise Edition von mongoDB mit Version 3.2.4. Ich erhalte die folgende Meldung in der Konsole:Fehler beim Aktivieren der Datenverschlüsselung mit dem lokalen Schlüssel MONGODB
ERROR: child process failed, exited with error number 14
Aber wenn ich mir die Protokolle aussehen sehe ich detaillierte Fehler wie folgt:
Unable to retrieve key .system, error: there are existing data files, but no valid keystore could be located.
Fatal Assertion 28561
nach dem Snippet meiner Konfigurationsdatei ist:
# enable authentication
security:
authorization: enabled
enableEncryption: true
encryptionKeyFile: /home/test/mongodb-keyfile
Es funktioniert gut ohne die enableEncryption
und encryptionKeyFile
Parameter. Kann mir jemand erklären, was ich hier vermisse? Vielen Dank!
Ich habe keine Ahnung von MongoDB-Verschlüsselung, aber ich würde denken, dass Sie die Verschlüsselung einer vorhandenen Datenbank nicht aktivieren können.Vielleicht können Sie eine leere Datenbank mit aktivierter Verschlüsselung erstellen und dann alle Daten in die verschlüsselte Datenbank kopieren. –
@ Gurkha Nun, es würde helfen, wenn Sie es verstanden haben. Wenn Sie eine Datenverschlüsselung wünschen, müssen Sie mit einem leeren Datenverzeichnis beginnen. Sichern Sie also zuerst die Daten, löschen Sie das aktuelle Datenverzeichnis und legen Sie neue Optionen fest. Dann können Sie Daten wiederherstellen und fortfahren. Der gleiche Vorgang gilt für [Speicher-Engines wechseln] (https://docs.mongodb.org/manual/tutorial/change-standalone-wiredtiger/). Es ist einfach nicht möglich, diese Optionen zu wechseln und die Datenbank nur für Sie zu tun. –
Werfen Sie einen Blick - https://docs.mongodb.org/manual/tutorial/configure-encryption/#local-key-management ... Außerdem müssen Sie sicherstellen, dass Ihre Datenbank auf der WiredTiger-Speicher-Engine läuft. –