Я отредактировал конфигурационный файл MongoDB для хранения его данных /home/user/data/mongod
.
Но данные все еще записываются в старый каталог, предположительно потому, что разрешения для новой папки не предоставлены - как я могу дать MongoDB необходимые разрешения для этого каталога?
Ответы:
Чтобы изменить местоположение, используемое MongoDB для хранения своих данных, вам необходимо:
/etc/mongodb.conf
и измените строкуdbpath=/var/lib/mongodb
на путь, который вы хотите, например,dbpath=/home/user/data/mongodb
mongodb
пользователю писать в него, например,chown $USER -R /home/user/data/mongodb
sudo service mongodb restart
Обратите внимание, что если у вас есть какие-либо данные в старом месте, которые вы хотите сохранить, вам необходимо сначала остановить службу MongoDB, вручную переместить файлы, а затем снова запустить службу.
Чтобы остановить использование сервера MongoDB
sudo service mongodb stop
источник
/var/lib/mongodb
Вам нужно перезапустить демон, чтобы изменения вступили в силу.
источник
Если вы запускаете mongodb из командной строки, вы можете использовать
--dbpath
аргумент:mkdir mydata && mongod --dbpath mydata
вы можете столкнуться с некоторой проблемой, связанной с «файл существует» или чем-то другим, это хорошо известное ограничение MongoDb, подробнее об этом здесь . Просто замените диск и проверьте, нет ли у вас этой проблемы снова.источник
Перейдите в / var / lib / mongodb (каталог, в котором вы сохранили данные) в / path и chown mondodb: mongodb / path (каталог, в котором вы хотите сохранить данные)
отредактируйте /etc/mongod.conf
перезапуск службы mongod (если не удается подключиться, проверьте / путь, если он не содержит mongod.lock, если он существует, удалите его и перезапустите снова)
источник