Когда я включаю опцию directoryperdb в файле mongo.conf, служба сервера mongodb не запускается.
2020-03-16T15:37:55.300+0530 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-03-16T15:37:55.671+0530 I CONTROL [main] Trying to start Windows service 'MongoDB'
2020-03-16T15:37:55.672+0530 I CONTROL [initandlisten] MongoDB starting : pid=8776 port=27017 dbpath=C:\Program Files\MongoDB\Server\4.2\data 64-bit host=GGNUVBRESSCHINL
2020-03-16T15:37:55.672+0530 I CONTROL [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2020-03-16T15:37:55.672+0530 I CONTROL [initandlisten] db version v4.2.0
2020-03-16T15:37:55.672+0530 I CONTROL [initandlisten] git version: a4b751dcf51dd249c5865812b390cfd1c0129c30
2020-03-16T15:37:55.672+0530 I CONTROL [initandlisten] allocator: tcmalloc
2020-03-16T15:37:55.672+0530 I CONTROL [initandlisten] modules: none
2020-03-16T15:37:55.672+0530 I CONTROL [initandlisten] build environment:
2020-03-16T15:37:55.672+0530 I CONTROL [initandlisten] distmod: 2012plus
2020-03-16T15:37:55.673+0530 I CONTROL [initandlisten] distarch: x86_64
2020-03-16T15:37:55.673+0530 I CONTROL [initandlisten] target_arch: x86_64
2020-03-16T15:37:55.673+0530 I CONTROL [initandlisten] options: { config: "C:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg", net: { bindIp: "127.0.0.1", port: 27017 }, service: true, storage: { dbPath: "C:\Program Files\MongoDB\Server\4.2\data", directoryPerDB: true, journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "C:\Program Files\MongoDB\Server\4.2\log\mongod.log" } }
2020-03-16T15:37:55.674+0530 I STORAGE [initandlisten] Detected data files in C:\Program Files\MongoDB\Server\4.2\data created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2020-03-16T15:37:55.674+0530 I STORAGE [initandlisten] exception in initAndListen: InvalidOptions: Requested option conflicts with current storage engine option for directoryPerDB; you requested true but the current server storage is already set to false and cannot be changed, terminating
2020-03-16T15:37:55.675+0530 I NETWORK [serviceStopWorker] shutdown: going to close listening sockets...
2020-03-16T15:37:55.675+0530 I - [serviceStopWorker] Stopping further Flow Control ticket acquisitions.
2020-03-16T15:37:55.675+0530 I CONTROL [serviceStopWorker] now exiting
Если у вас есть существующие файлы данных, вы не можете изменить настройки, которые влияют на структуру данных на диске (например, directoryPerDB
или directoryForIndexes
).
Об этом свидетельствует сообщение об ошибке в журнале запуска:
InvalidOptions: запрошенная опция конфликтует с текущей опцией механизма хранения для directoryPerDB; вы запросили истину, но текущее хранилище сервера уже установлено на ложь и не может быть изменено, завершение
Чтобы изменить этот параметр для существующих развертываний, вам необходимо либо mongodump
и mongorestore
ваши данные (для автономного развертывания) или выполните последовательное обновление через репликацию (для развертывания набора реплик).
Увидеть документация для diretoryPerDB
для получения инструкций по изменению этого параметра для существующих автономных развертываний или развертываний набора реплик.